繁体   English   中英

如何在经典ASP和ASP.NET之间匹配SHA256

[英]How can I Match SHA256 between classic asp and asp.net

我正在提高网站的安全性,以在经典的ASP页中包含sha256加密和盐。 为此,我正在使用此站点中的代码。 http://www.freevbcode.com/ShowCode.asp?ID=2565

我最终将站点升级到.net,因此我想确保我可以同时匹配经典asp和.net中的加密密码。

在经典的ASP中,我这样称呼加密。

GeneratedNewPassword = SHA256(Password & Random & NewGuid)

并生成了以下密码:2551baf9ab959dcb4224b3c3080b5888e0866be1a53f4a123645b71020272a3c

然后,我尝试在.net中创建相同的内容

string hashedPassword = Security.HashSha1(password + random + dbUserGuid);
SHA256 sha256 = SHA256Managed.Create(); //utf8 here as well
byte[] bytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(password + random + dbUserGuid));
string result = Convert.ToBase64String(bytes);

生成了这样的字符串:fzC5FX4ShhZrdqy8MVM7PPVnW4D2gaX6DlinPDRFT2I =

我猜想这与我使用的utf有关,但不确定。 任何帮助,将不胜感激。

我发现了我的错误。 我的GUID是从我的经典asp数据库中输入的,是大写的,而在.net中是小写的。 一旦我对传入的Guid执行了toUpper,我的哈希就匹配了。

谢谢您的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM