Fra*_*ayt 1 c# hash ascii sha512
我正在尝试编写一个函数来计算字符串和salt的哈希值,但它会继续返回看起来像某些编码值的东西,这是完全不可读的.
这是我的方法:
public string HashAndSaltString(string stringtohash, string salt)
{
byte[] data = System.Text.Encoding.ASCII.GetBytes(stringtohash + salt);
System.Security.Cryptography.SHA512 hashed = new System.Security.Cryptography.SHA512Managed();
byte[] result = hashed.ComputeHash(data);
string final = System.Text.Encoding.ASCII.GetString(result);
return final;
}
Run Code Online (Sandbox Code Playgroud)
这是它返回的样本:
?mJv?v??a ? ??v??g???s?1t?F?v?6(H????????f.???z??H??(?????
%?O??7J??p4??s=`??&p?u?6?????FX!&????????'???!|?"b??c??
?\w[??2ZB????}??_???P?&^??`r???pw?'???0a???#?!Df??????S+
Run Code Online (Sandbox Code Playgroud)
我认为这事做与GetBytes和GetString方法的部分,它编码为ASCII?
一些帮助将非常感激.
散列函数通常将其输入处理为固定长度的字节块,这不是人类可读的.
将此字节数组转换为char序列的常用方法是将base64应用于它.
在C#中你可以做到:
string final = Convert.ToBase64String(result);
Run Code Online (Sandbox Code Playgroud)
得到一个字符串,并:
byte[]backToByteArray = Convert.FromBase64String(final);
Run Code Online (Sandbox Code Playgroud)
获取一个字节数组.
| 归档时间: |
|
| 查看次数: |
1250 次 |
| 最近记录: |