Foxtable(狐表)用户栏目专家坐堂 → [求助]Aes加密代码问题


  共有84人关注过本帖树形打印复制链接

主题:[求助]Aes加密代码问题

帅哥哟,离线,有人找我吗?
yzh666
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:26 积分:255 威望:0 精华:0 注册:2024/6/6 11:09:00
[求助]Aes加密代码问题  发帖心情 Post By:2025/3/18 14:29:00 [只看该作者]

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中无法编译,会报错
图片点击可在新窗口打开查看
有什么解决方法吗




 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112799 积分:574358 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/18 15:18:00 [只看该作者]

没有办法,使用其它加密方法

 回到顶部
帅哥哟,离线,有人找我吗?
yzh666
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:26 积分:255 威望:0 精华:0 注册:2024/6/6 11:09:00
  发帖心情 Post By:2025/3/18 16:19:00 [只看该作者]

搞定了搞定了 我自己生成了一个dll导入就行了

 回到顶部