Foxtable(狐表)用户栏目专家坐堂 → 关于System.Security.Cryptography加密请教


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

主题:关于System.Security.Cryptography加密请教

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


加好友 发短信
等级:六尾狐 帖子:1275 积分:7922 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2021/11/21 21:53:00 [显示全部帖子]

你没改过引用和命名空间,就不能偷懒用SSC简写,用下面的标准写法吧

'加密---
'AES,ECB,PKCS7,返回Base64结果
'通过AesEncrypt(内容)使用
Public Function AesEncrypt(ByVal str As String) As String
If String.IsNullOrEmpty(str) Then
    Return ""
Else
    Dim key As String ="4hXnn8NUtss5OUTR" '与前端约定好的固定秘钥
    Dim toEncryptArray As Byte() = Encoding.UTF8.GetBytes(str)
    Dim rm  = New System.Security.Cryptography.RijndaelManaged
    rm.Key = Encoding.UTF8.GetBytes(key)
    rm.Mode = System.Security.Cryptography.CipherMode.ECB
    rm.Padding = System.Security.Cryptography.PaddingMode.PKCS7
    
    Dim cTransform = rm.CreateEncryptor()
    Dim resultArray As Byte() = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length)
    Return Convert.ToBase64String(resultArray, 0, resultArray.Length)
End If
End Function
'加密---

'解密---
'通过AesDecrypt(内容)使用
Public Function AesDecrypt(ByVal str As String) As String
If String.IsNullOrEmpty(str) Then
    Return ""
Else
    Dim key As String ="4hXnn8NUtss5OUTR" '与前端约定好的固定秘钥
    Dim toEncryptArray As Byte() = Convert.FromBase64String(str)
    Dim rm  = New System.Security.Cryptography.RijndaelManaged
    rm.Key = Encoding.UTF8.GetBytes(key)
    rm.Mode = System.Security.Cryptography.CipherMode.ECB
    rm.Padding = System.Security.Cryptography.PaddingMode.PKCS7
    
    Dim cTransform = rm.CreateDecryptor()
    Dim resultArray As Byte() = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length)
    Return Encoding.UTF8.GetString(resultArray)
End If
End Function
'解密---
[此贴子已经被作者于2021/11/21 21:55:08编辑过]

 回到顶部