Dim strFileToEncrypt As String
Dim strFileToDecrypt As String
Dim strOutputEncrypt As String
Dim strOutputDecrypt As String
Dim fsInput As System.IO.FileStream
Dim fsOutput As System.IO.FileStream
'Current Index
Public lstIndex As Int16
'*************************
'** Create A Key
'*************************
Public Function CreateKey(ByVal strPassword As String) As Byte()
'Convert strPassword to an array and store in chrData.
Dim chrData() As Char = strPassword.ToCharArray
'Use intLength to get strPassword size.
Dim intLength As Integer = chrData.GetUpperBound(0)
'Declare bytDataToHash and make it the same size as chrData.
Dim bytDataToHash(intLength) As Byte
'Use For Next to convert and store chrData into bytDataToHash.
For i As Integer = 0 To chrData.GetUpperBound(0)
bytDataToHash(i) = CByte(Asc(chrData(i)))
Next
'Declare what hash to use.
Dim SHA512 As New System.Security.Cryptography.SHA512Managed
'Declare bytResult, Hash bytDataToHash and store it in bytResult.
Dim bytResult As Byte() = SHA512.ComputeHash(bytDataToHash)
'Declare bytKey(31). It will hold 256 bits.
Dim bytKey(31) As Byte
'Use For Next to put a specific size (256 bits) of
'bytResult into bytKey. The 0 To 31 will put the first 256 bits
'of 512 bits into bytKey.
For i As Integer = 0 To 31
bytKey(i) = bytResult(i)
Next
Return bytKey 'Return the key.
End Function
Public Function CreateIV(ByVal strPassword As String) As Byte()
'Convert strPassword to an array and store in chrData.
Dim chrData() As Char = strPassword.ToCharArray
'Use intLength to get strPassword size.
Dim intLength As Integer = chrData.GetUpperBound(0)
'Declare bytDataToHash and make it the same size as chrData.
Dim bytDataToHash(intLength) As Byte
'Use For Next to convert and store chrData into bytDataToHash.
For i As Integer = 0 To chrData.GetUpperBound(0)
bytDataToHash(i) = CByte(Asc(chrData(i)))
Next
'Declare what hash to use.
Dim SHA512 As New System.Security.Cryptography.SHA512Managed
'Declare bytResult, Hash bytDataToHash and store it in bytResult.
Dim bytResult As Byte() = SHA512.ComputeHash(bytDataToHash)
'Declare bytIV(15). It will hold 128 bits.
Dim bytIV(15) As Byte
'Use For Next to put a specific size (128 bits) of bytResult into bytIV.
'The 0 To 30 for bytKey used the first 256 bits of the hashed password.
'The 32 To 47 will put the next 128 bits into bytIV.
For i As Integer = 32 To 47
bytIV(i - 32) = bytResult(i)
Next
Return bytIV 'Return the IV.
End Function
'****************************
'** Encrypt/Decrypt File
'****************************
Public Enum CryptoAction
'Define the enumeration for CryptoAction.
ActionEncrypt = 1
ActionDecrypt = 2
End Enum
Public Sub EncryptOrDecryptFile(ByVal strInputFile As String, _
ByVal strOutputFile As String, _
ByVal bytKey() As Byte, _
ByVal bytIV() As Byte, _
ByVal Direction As CryptoAction)
Try 'In case of errors.
'Setup file streams to handle input and output.
fsInput = New System.IO.FileStream(strInputFile, IO.FileMode.Open, IO.FileAccess.Read)
fsOutput = New System.IO.FileStream(strOutputFile, IO.FileMode.OpenOrCreate, IO.FileAccess.Write)
fsOutput.SetLength(0) 'make sure fsOutput is empty
'Declare variables for encrypt/decrypt process.
Dim bytBuffer(4096) As Byte 'holds a block of bytes for processing
Dim lngBytesProcessed As Long = 0 'running count of bytes processed
Dim lngFileLength As Long = fsInput.Length 'the input file's length
Dim intBytesInCurrentBlock As Integer 'current bytes being processed
Dim csCryptoStream As CryptoStream
'Declare your CryptoServiceProvider.
Dim cspRijndael As New System.Security.Cryptography.RijndaelManaged
'Setup Progress Bar
' pbStatus.Text = 0
' pbStatus.Maximum = 100
'Determine if ecryption or decryption and setup CryptoStream.
Select Case Direction
Case CryptoAction.ActionEncrypt
csCryptoStream = New CryptoStream(fsOutput, _
cspRijndael.CreateEncryptor(bytKey, bytIV), _
CryptoStreamMode.Write)
Case CryptoAction.ActionDecrypt
csCryptoStream = New CryptoStream(fsOutput, _
cspRijndael.CreateDecryptor(bytKey, bytIV), _
CryptoStreamMode.Write)
End Select
'Use While to loop until all of the file is processed.
While lngBytesProcessed < lngFileLength
'Read file with the input filestream.
intBytesInCurrentBlock = fsInput.Read(bytBuffer, 0, 4096)
'Write output file with the cryptostream.
csCryptoStream.Write(bytBuffer, 0, intBytesInCurrentBlock)
'Update lngBytesProcessed
lngBytesProcessed = lngBytesProcessed + _
CLng(intBytesInCurrentBlock)
'Update Progress Bar
' pbStatus.Value = CInt((lngBytesProcessed / lngFileLength) * 100)
End While
'Close FileStreams and CryptoStream.
csCryptoStream.Close()
fsInput.Close()
fsOutput.Close()
Catch e As Exception
MsgBox(e.Message, MsgBoxStyle.Exclamation)
End Try
End Sub
/////Calling function to Encrypt file.
'Encrypted The XML
Dim bytKey As Byte()
Dim bytIV As Byte()
'Send the password to the CreateKey function.
bytKey = CreateKey("soumitra")
'Send the password to the CreateIV function.
bytIV = CreateIV("soumitra")
'Start the encryption.
EncryptOrDecryptFile(Application.StartupPath & "\config.xml", "C:\Foldername\" & txtAgencyId.Text.Trim() & "\config.xml.encrypted", _
bytKey, bytIV, CryptoAction.ActionEncrypt)
/////Calling function to DEcrypt file.
Dim bytKey As Byte()
Dim bytIV As Byte()
'Send the password to the CreateKey function.
bytKey = CreateKey("soumitra")
'Send the password to the CreateIV function.
bytIV = CreateIV("soumitra")
'Start the encryption.
'Application.StartupPath & "\config.xml.encrypted"
EncryptOrDecryptFile(strDecryptPath & "\config.xml.encrypted", Application.StartupPath & "\config.xml", _
bytKey, bytIV, CryptoAction.ActionDecrypt)
Wednesday, June 3, 2009
How to Open Particular folder using VB.Net
Add namespace
Imports System.IO
Dim Folder_Path As String = "C:\Folder Name\
If IO.Directory.Exists(Folder_Path) = False Then
MessageBox.Show("Location does not Exist!")
Exit Sub
End If
Process.Start("explorer.exe", Folder_Path)
Imports System.IO
Dim Folder_Path As String = "C:\Folder Name\
If IO.Directory.Exists(Folder_Path) = False Then
MessageBox.Show("Location does not Exist!")
Exit Sub
End If
Process.Start("explorer.exe", Folder_Path)
Writing XML
First of all you have to add name space
Imports System.Xml
Dim textWriter As XmlTextWriter = New XmlTextWriter(Application.StartupPath & "\config.xml", Nothing)
' Opens the document
textWriter.WriteStartDocument()
' Write first element
textWriter.WriteStartElement("Projects")
'writing Sub Element
textWriter.WriteStartElement("Agency")
'Writing Value
textWriter.WriteString(txtAgencyName.Text.Trim())
textWriter.WriteEndElement()
textWriter.WriteStartElement("AgencyID")
textWriter.WriteString(txtAgencyId.Text.Trim())
textWriter.WriteEndElement()
' Write next element
textWriter.WriteStartElement("Project")
textWriter.WriteStartElement("Name", "")
textWriter.WriteString(IIf(option1.Checked = True, "Checked", "Not checked "))
textWriter.WriteEndElement()
textWriter.WriteEndElement()
' Ends the document.
textWriter.WriteEndDocument()
' close writer
textWriter.Close()
Imports System.Xml
Dim textWriter As XmlTextWriter = New XmlTextWriter(Application.StartupPath & "\config.xml", Nothing)
' Opens the document
textWriter.WriteStartDocument()
' Write first element
textWriter.WriteStartElement("Projects")
'writing Sub Element
textWriter.WriteStartElement("Agency")
'Writing Value
textWriter.WriteString(txtAgencyName.Text.Trim())
textWriter.WriteEndElement()
textWriter.WriteStartElement("AgencyID")
textWriter.WriteString(txtAgencyId.Text.Trim())
textWriter.WriteEndElement()
' Write next element
textWriter.WriteStartElement("Project")
textWriter.WriteStartElement("Name", "")
textWriter.WriteString(IIf(option1.Checked = True, "Checked", "Not checked "))
textWriter.WriteEndElement()
textWriter.WriteEndElement()
' Ends the document.
textWriter.WriteEndDocument()
' close writer
textWriter.Close()
Subscribe to:
Posts (Atom)