我正在尝试将一些安全性应用到我正在完成大学的项目中。这种安全性有点瞥看,所以我很想放弃,将密码保存为明文或转换为base64,并做一些更明显的用户。
在我放弃之前,我问的是。这是我第一次尝试在这里问任何事情,所以请保持温和。
我决定实现这个MSDN代码不会太难。 http://msdn.microsoft.com/en-us/library/aa545602%28v=cs.70%29.aspx
原来,确实如此。我收到了错误
System.FormatException:输入字符串的格式不正确。
代码
binarySaltValue[0] = byte.Parse( salt.Substring( 0, 2 ), System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture.NumberFormat );
我说实话,我不完全理解这段代码。
如果有人能解决这个问题或提供一个防止白痴的异步散列类,我会很感激。
(为我的随机用户名道歉,我不知道是怎么回事)
答案 0 :(得分:1)
这是一个基本的方法(没有盐),至少可以帮助你入门。它只是“哈希”进入的字符串。
private string GetHashedString(string _PW)
{
string _HashedPW = "";
SHA512 sha = new SHA512CryptoServiceProvider();
byte[] result;
StringBuilder strBuilder = new StringBuilder();
sha.ComputeHash(ASCIIEncoding.ASCII.GetBytes(_PW));
result = sha.Hash;
for (int i = 0; i < result.Length; i++)
{
strBuilder.Append(result[i].ToString("x2"));
}
_HashedPW = strBuilder.ToString();
return _HashedPW;
}