[英]What is the difference between the ASP.NET Core 3.1 SHA512 and SHA256Managed
[英]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.