以下是一个使用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编码的字符串形式返回,解密后的结果以原始字符串形式返回

vbnet AES算法

原文地址: http://www.cveoy.top/t/topic/h17F 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录