vbnet 3DES 算法代码
下面是一个使用VB.NET实现3DES算法的示例代码:
Imports System.Security.Cryptography
Imports System.Text
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim originalText As String = "Hello World!"
Dim key As String = "0123456789abcdef0123456789abcdef"
Dim encryptedText As String = Encrypt(originalText, key)
Dim decryptedText As String = Decrypt(encryptedText, key)
MessageBox.Show("Original Text: " & originalText & vbCrLf &
"Encrypted Text: " & encryptedText & vbCrLf &
"Decrypted Text: " & decryptedText)
End Sub
Public Function Encrypt(plainText As String, key As String) As String
Dim des As New TripleDESCryptoServiceProvider()
des.Key = Encoding.UTF8.GetBytes(key)
des.Mode = CipherMode.ECB
des.Padding = PaddingMode.PKCS7
Dim encryptor As ICryptoTransform = des.CreateEncryptor()
Dim plainBytes As Byte() = Encoding.UTF8.GetBytes(plainText)
Dim cipherBytes As Byte() = encryptor.TransformFinalBlock(plainBytes, 0, plainBytes.Length)
encryptor.Dispose()
Return Convert.ToBase64String(cipherBytes)
End Function
Public Function Decrypt(cipherText As String, key As String) As String
Dim des As New TripleDESCryptoServiceProvider()
des.Key = Encoding.UTF8.GetBytes(key)
des.Mode = CipherMode.ECB
des.Padding = PaddingMode.PKCS7
Dim decryptor As ICryptoTransform = des.CreateDecryptor()
Dim cipherBytes As Byte() = Convert.FromBase64String(cipherText)
Dim plainBytes As Byte() = decryptor.TransformFinalBlock(cipherBytes, 0, cipherBytes.Length)
decryptor.Dispose()
Return Encoding.UTF8.GetString(plainBytes)
End Function
End Class
在上面的代码中,我们使用TripleDESCryptoServiceProvider类来实现3DES算法。使用Encrypt函数可以将原始文本加密为Base64编码的密文,使用Decrypt函数可以将密文解密为原始文本
原文地址: http://www.cveoy.top/t/topic/h16b 著作权归作者所有。请勿转载和采集!