C#中String的SHA256哈希与网站上的哈希不一致
发布时间:2020-12-15 18:29:14 所属栏目:百科 来源:网络整理
导读:如果我使用下面的方法使用SHA256在C#中散列字符串“password”,我将其作为输出: e201065d0554652615c320c00a1d5bc8edca469d72c2790e24152d0c1e2b6189 但是this website(SHA-256 produces a 256-bit (32-byte) hash value)告诉我的是: 5e884898da28047151d0
如果我使用下面的方法使用SHA256在C#中散列字符串“password”,我将其作为输出:
e201065d0554652615c320c00a1d5bc8edca469d72c2790e24152d0c1e2b6189 但是this website(SHA-256 produces a 256-bit (32-byte) hash value)告诉我的是: 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 我显然有数据格式问题或类似的问题.有什么想法为什么这个C#SHA256Managed方法返回不同的东西?我发送方法“密码”作为输入参数. private static string CalculateSHA256Hash(string text) { UnicodeEncoding UE = new UnicodeEncoding(); byte[] hashValue; byte[] message = UE.GetBytes(text); SHA256Managed hashString = new SHA256Managed(); string hex = ""; hashValue = hashString.ComputeHash(message); foreach (byte x in hashValue) { hex += String.Format("{0:x2}",x); } return hex; } 解决方法UnicodeEncoding 是UTF-16,保证将所有字符膨胀为2到4个字节以表示其Unicode代码点(另请参阅MSDN上的“备注”部分).
使用(静态) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容