以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于System.Security.Cryptography加密请教 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=173247) |
-- 作者:chen_sheng -- 发布时间:2021/11/21 9:24:00 -- 关于System.Security.Cryptography加密请教 随着不断对狐表的深入系统安全也提上了日程 借鉴了论坛杰哥优秀的加密方案,发现一个问题,把他的加密全局函数抄下来不能编译成功,他的项目运行又没有问题 也看了没有看到有变量声明 System.Security.Cryptography= ssc 但是他的程序ssc. 是可以编译通过的,卡壳了 |
-- 作者:有点蓝 -- 发布时间:2021/11/21 20:09:00 -- 看引用和命名空间:http://www.foxtable.com/webhelp/topics/1936.htm |
-- 作者:chen37280600 -- 发布时间: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编辑过]
|
-- 作者:cnsjroom -- 发布时间:2021/11/22 0:07:00 -- 回复:(chen37280600)你没改过引用和命名空间,就不... 老师 请教一下 这个全局加密和解密的函数代码 怎么进行使用呢? |
-- 作者:有点蓝 -- 发布时间:2021/11/22 8:37:00 -- 直接调用:msgbox(AesEncrypt("加密的字符串")) 如果不是用来在网页前端加密,建议使用foxtable提供的加解密函数,不用搞那么多花样
|
-- 作者:chen_sheng -- 发布时间:2021/11/23 16:08:00 -- 非常感谢杰哥 及蓝版的指导! |