嘿,伙计们我已经对加密做了一些研究,并了解它是如何工作的以及它包含的内容,但我还没有完全理解如何实现密码加密。
我试图加密发送到我的数据库的密码,我该如何实现?
感谢你们提供的信息,我看过哈希表, 我是否正确假设哈希表基本上将值转换为不同的值,例如:
var HashTable = {one:[1,10,5],two:[2],three:[3,30,300]}
然后将新值传递给数据库?
感谢任何和所有帮助提前致谢!
答案 0 :(得分:0)
不要加密密码,当攻击者获得数据库时,他也会获得加密密钥。
仅仅使用哈希函数是不够的,只添加一个盐对提高安全性几乎没有作用。相反,使用随机盐在HMAC上进行大约100毫秒的持续时间并使用哈希值保存盐。使用PBKDF2
,Rfc2898DeriveBytes
,password_hash
,Bcrypt
或类似功能等功能。重点是让攻击者花费大量时间通过暴力破解密码。
Cryptographic hash functions比问题中的示例要复杂得多,它们的输出无法与随机位/字节区分开来,输入上的一位变化实际上导致50%或输出位发生变化是不可逆转的。