我正在尝试为我正在完成的大学项目应用一些安全性。这种安全性有点让人一目了然,所以我很想放弃,将密码保存为纯文本或转换为 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 );
老实说,我并不完全理解这段代码。
- SaltValueSize 应该是什么?提供的代码不提供它,任何参考也不提供。它也是大写的,所以它是一个对象吗?或者某个对象中的某个字段?
- 变量“hash”没有在任何地方定义,所以我只是用新的 MD5CryptoServiceProvider() 填充它。这是一个错误吗?
- 如果我没看错的话,字符串“salt”应该包含二进制文件,但它在运行时没有,它有乱码,同时所有崩溃的行都试图从“salt”解析二进制文件?为什么?
如果有人能解决这个问题或提供一个防白痴的异步哈希类,我将不胜感激。
(为我的随机用户名道歉,我不知道这是怎么回事)