以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]Aes加密代码问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=195887) |
-- 作者:yzh666 -- 发布时间:2025/3/18 14:29:00 -- [求助]Aes加密代码问题 Public Class AESEncryption \' 使用 AES-128-CBC 模式,密钥长度需为16字节(128位) Private Shared key As Byte() = Encoding.UTF8.GetBytes("0123456789abcdef") \' 密钥示例,需与Java端一致 Private Shared iv As Byte() = Encoding.UTF8.GetBytes("1234567890abcdef") \' 初始化向量(IV)示例 \' 加密方法 Public Shared Function EncryptJWM(plainText As String) As String Using aesAlg As System.Security.Cryptography.Aes = System.Security.Cryptography.Aes.Create() aesAlg.Key = key aesAlg.IV = iv aesAlg.Mode = System.Security.Cryptography.CipherMode.CBC aesAlg.Padding = System.Security.Cryptography.PaddingMode.PKCS7 Dim encryptor As System.Security.Cryptography.ICryptoTransform = aesAlg.CreateEncryptor() Dim plainBytes As Byte() = Encoding.UTF8.GetBytes(plainText) Using msEncrypt As New IO.MemoryStream() Using csEncrypt As New System.Security.Cryptography.CryptoStream(msEncrypt, encryptor, System.Security.Cryptography.CryptoStreamMode.Write) csEncrypt.Write(plainBytes, 0, plainBytes.Length) csEncrypt.FlushFinalBlock() End Using Return Convert.ToBase64String(msEncrypt.ToArray()) End Using End Using End Function \' 解密方法 Public Shared Function DecryptJWM(cipherText As String) As String Dim cipherBytes As Byte() = Convert.FromBase64String(cipherText) Using aesAlg As System.Security.Cryptography.Aes = System.Security.Cryptography.Aes.Create() aesAlg.Key = key aesAlg.IV = iv aesAlg.Mode = System.Security.Cryptography.CipherMode.CBC aesAlg.Padding = System.Security.Cryptography.PaddingMode.PKCS7 Dim decryptor As System.Security.Cryptography.ICryptoTransform = aesAlg.CreateDecryptor() Using msDecrypt As New IO.MemoryStream(cipherBytes) Using csDecrypt As New System.Security.Cryptography.CryptoStream(msDecrypt, decryptor, System.Security.Cryptography.CryptoStreamMode.Read) Using srDecrypt As New IO.StreamReader(csDecrypt, Encoding.UTF8) Return srDecrypt.ReadToEnd() End Using End Using End Using End Using End Function End Class
这段代码在旧版本的foxtable中无法编译,会报错 有什么解决方法吗 |
-- 作者:有点蓝 -- 发布时间:2025/3/18 15:18:00 -- 没有办法,使用其它加密方法 |
-- 作者:yzh666 -- 发布时间:2025/3/18 16:19:00 -- 搞定了搞定了 我自己生成了一个dll导入就行了 |