密码哈希函数
Hashing functions on passwords
我对散列密码的目的有疑问。我知道哈希函数是一种单向伪随机算法,它将一个字符串变成一个看似随机的 n 位字符串(取决于哈希)。当然,这意味着它们无法通过逆向找到原始字符串,也不需要将它们作为纯文本存储在数据库中。但是,如果要以任何方式获取或泄露散列密码,是什么阻止某人对它们执行相同的散列函数来破解密码呢?在线存在一些哈希生成器,例如 MD5、SHA-1 和 SHA-256,任何人都可以(可能)使用它们来对哈希密码列表进行暴力破解或字典攻击。
也许这个想法是人们不知道使用什么散列函数来生成散列?但即便如此,散列本身的长度也可能泄露它。也许是因为哈希需要一段时间来计算?但是在线生成器不能通过将单词列表映射到特定的哈希值来加快这个过程吗?
如有任何帮助或理解,我们将不胜感激!
Salting 哈希防止暴力破解和彩虹表的使用。
来自维基百科:
In cryptography, a salt is random data that is used as an additional
input to a one-way function that "hashes" data, a password or
passphrase. Salts are used to safeguard passwords in storage.
我对散列密码的目的有疑问。我知道哈希函数是一种单向伪随机算法,它将一个字符串变成一个看似随机的 n 位字符串(取决于哈希)。当然,这意味着它们无法通过逆向找到原始字符串,也不需要将它们作为纯文本存储在数据库中。但是,如果要以任何方式获取或泄露散列密码,是什么阻止某人对它们执行相同的散列函数来破解密码呢?在线存在一些哈希生成器,例如 MD5、SHA-1 和 SHA-256,任何人都可以(可能)使用它们来对哈希密码列表进行暴力破解或字典攻击。
也许这个想法是人们不知道使用什么散列函数来生成散列?但即便如此,散列本身的长度也可能泄露它。也许是因为哈希需要一段时间来计算?但是在线生成器不能通过将单词列表映射到特定的哈希值来加快这个过程吗?
如有任何帮助或理解,我们将不胜感激!
Salting 哈希防止暴力破解和彩虹表的使用。
来自维基百科:
In cryptography, a salt is random data that is used as an additional input to a one-way function that "hashes" data, a password or passphrase. Salts are used to safeguard passwords in storage.