vbnet AES算法
以下是一个使用VB.NET实现AES算法的示例代码:
Imports System.Security.Cryptography
Imports System.Text
Module Module1
Sub Main()
Dim plainText As String = "Hello World!"
Dim key As String = "0123456789abcdef"
Dim iv As String = "fedcba9876543210"
Dim encryptedText As String = AESEncrypt(plainText, key, iv)
Console.WriteLine("Encrypted Text: " & encryptedText)
Dim decryptedText As String = AESDecrypt(encryptedText, key, iv)
Console.WriteLine("Decrypted Text: " & decryptedText)
Console.ReadLine()
End Sub
Function AESEncrypt(plainText As String, key As String, iv As String) As String
Dim aes As New AesCryptoServiceProvider()
aes.BlockSize = 128
aes.KeySize = 128
aes.Key = Encoding.UTF8.GetBytes(key)
aes.IV = Encoding.UTF8.GetBytes(iv)
aes.Mode = CipherMode.CBC
aes.Padding = PaddingMode.PKCS7
Dim encryptor As ICryptoTransform = aes.CreateEncryptor(aes.Key, aes.IV)
Dim encryptedData As Byte() = encryptor.TransformFinalBlock(Encoding.UTF8.GetBytes(plainText), 0, plainText.Length)
encryptor.Dispose()
Return Convert.ToBase64String(encryptedData)
End Function
Function AESDecrypt(encryptedText As String, key As String, iv As String) As String
Dim aes As New AesCryptoServiceProvider()
aes.BlockSize = 128
aes.KeySize = 128
aes.Key = Encoding.UTF8.GetBytes(key)
aes.IV = Encoding.UTF8.GetBytes(iv)
aes.Mode = CipherMode.CBC
aes.Padding = PaddingMode.PKCS7
Dim decryptor As ICryptoTransform = aes.CreateDecryptor(aes.Key, aes.IV)
Dim decryptedData As Byte() = decryptor.TransformFinalBlock(Convert.FromBase64String(encryptedText), 0, encryptedText.Length)
decryptor.Dispose()
Return Encoding.UTF8.GetString(decryptedData)
End Function
End Module
在上述代码中,AESEncrypt函数用于加密明文,AESDecrypt函数用于解密密文。你可以将需要加密的明文、密钥和初始向量作为参数传递给这两个函数。加密后的结果以Base64编码的字符串形式返回,解密后的结果以原始字符串形式返回
原文地址: http://www.cveoy.top/t/topic/h17F 著作权归作者所有。请勿转载和采集!