|
Imports System |
|
Imports System.IO |
|
Imports System.Security.Cryptography |
|
|
|
Public Class Form_Main |
|
|
|
Dim byteKey As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} |
|
Dim byteIV As Byte() = {8, 7, 6, 5, 4, 3, 2, 1} |
|
Dim byteEncrypt As Byte() = Nothing |
|
Dim strPlainText As String = String.Empty |
|
|
|
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load |
|
|
|
|
|
End Sub |
|
|
|
Private Shared Function TripleDESEncrypt(ByVal strInput As String, ByVal byteKey As Byte(), ByVal byteIV As Byte()) As Byte() |
|
Dim tdes As TripleDES = Nothing |
|
Dim ict As ICryptoTransform = Nothing |
|
Dim ms As MemoryStream = Nothing |
|
Dim cs As CryptoStream = Nothing |
|
Dim sw As StreamWriter = Nothing |
|
Dim byteResult As Byte() = Nothing |
|
|
|
Try |
|
tdes = TripleDES.Create() |
|
tdes.Key = byteKey |
|
tdes.IV = byteIV |
|
|
|
ict = tdes.CreateEncryptor() |
|
|
|
ms = New MemoryStream() |
|
|
|
cs = New CryptoStream(ms, ict, CryptoStreamMode.Write) |
|
|
|
sw = New StreamWriter(cs) |
|
|
|
sw.Write(strInput) |
|
sw.Close() |
|
|
|
cs.Close() |
|
|
|
byteResult = ms.ToArray() |
|
ms.Close() |
|
|
|
Return byteResult |
|
Catch e As Exception |
|
Throw e |
|
Finally |
|
If sw IsNot Nothing Then |
|
sw.Close() |
|
End If |
|
If cs IsNot Nothing Then |
|
cs.Close() |
|
End If |
|
If ms IsNot Nothing Then |
|
ms.Close() |
|
End If |
|
End Try |
|
End Function |
|
|
|
Private Shared Function TripleDESDecrypt(ByVal byteInput As Byte(), ByVal byteKey As Byte(), ByVal byteIV As Byte()) As String |
|
Dim tdes As TripleDES = Nothing |
|
Dim ict As ICryptoTransform = Nothing |
|
Dim ms As MemoryStream = Nothing |
|
Dim cs As CryptoStream = Nothing |
|
Dim sr As StreamReader = Nothing |
|
Dim strResult As String = [String].Empty |
|
|
|
Try |
|
tdes = TripleDES.Create() |
|
tdes.Key = byteKey |
|
tdes.IV = byteIV |
|
|
|
ict = tdes.CreateDecryptor() |
|
|
|
ms = New MemoryStream(byteInput) |
|
|
|
cs = New CryptoStream(ms, ict, CryptoStreamMode.Read) |
|
|
|
sr = New StreamReader(cs) |
|
|
|
strResult = sr.ReadToEnd() |
|
sr.Close() |
|
|
|
cs.Close() |
|
|
|
ms.Close() |
|
|
|
Return strResult |
|
Catch e As Exception |
|
Throw e |
|
Finally |
|
If sr IsNot Nothing Then |
|
sr.Close() |
|
End If |
|
If cs IsNot Nothing Then |
|
cs.Close() |
|
End If |
|
If ms IsNot Nothing Then |
|
ms.Close() |
|
End If |
|
End Try |
|
End Function |
|
|
|
Private Sub Button_Start_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Start.Click |
|
strPlainText = String.Empty |
|
|
|
|
|
byteEncrypt = TripleDESEncrypt(TextBox1.Text, byteKey, byteIV) |
|
|
|
|
|
TextBox2.Text = Convert.ToBase64String(byteEncrypt) |
|
|
|
|
|
TextBox3.Text = TripleDESDecrypt(byteEncrypt, byteKey, byteIV) |
|
|
|
|
|
End Sub |
|
End Class |