Jav*_*ram 4 c# database passwords hashcode
我想从哈希值中找回一个字符串?
string str="Hello";
int hashStr=str.GetHashCode(); // hash value of "Hello" is -694847
Run Code Online (Sandbox Code Playgroud)
我可以从散列值中获取my_string(即"Hello")....
更新
实际上我想在散列后将密码保存到我的数据库中以使其安全...
所以这意味着不同的密码甚至具有相同的价值?
实际上我想在散列后将密码保存到我的数据库中以使其安全
您无权实施此代码.
这没什么好坏的.我也没有能力这样做,而且我已经学习了多年的安全系统.通过研究安全系统,我了解到安全系统很难做到正确,需要多年的经验和复杂领域的详细专业知识.这就是我知道我不能胜任的方式.您认为哈希可能是可逆的这一事实向我表明您不是安全专家.
我的建议:聘请安全专业人员为您完成此任务.没有必要花很多钱来建立一个实际上并不能保护你资源的糟糕安全系统.而不是现在推出自己的廉价系统,并花费更多的钱来清理灾难,现在花更多的钱在前面,并获得专业的实施.
此外,GetHashCode的文档明确指出它不适合用于密码哈希,因为算法可以随时更改.实际上,哈希算法确实在CLR v1和CLR v2之间进行了更改,这使得依赖于GetHashCode的每个供应商都破坏了升级其系统的密码哈希.GetHashCode 不稳定,它不安全,它不是加密强度,它不是基于任何行业标准算法. 请勿在任何情况下将其用于加密散列.
这里缺少的一个答案是向OP解释散列不是加密的.对于需要首次处理安全问题的初级程序员(我自己也包括在内),术语哈希和加密常常令人困惑.
编辑更新:
| 归档时间: |
|
| 查看次数: |
1892 次 |
| 最近记录: |