python中的加密哈希和哈希表哈希之间的区别是什么



什么是加密哈希,一些算法是什么?它与python中的普通哈希有何不同?我如何确定使用哪种?

例如:加密哈希函数
你好--aaf4c61dcc5e8a2dabede0f3b482cd9ea9434d
地狱--44d634fa6b81353bc3ed424879ffd013501ade53

哈希函数
hash("你好")-1267296259
hash("helld")-1267296266

请帮助我

加密哈希函数与哈希表哈希函数不同。一个主要区别是加密散列函数被设计为不具有散列冲突弱点。它们被设计成在大多数情况下更加安全和不可逆转。但是像hash这样的哈希表哈希函数速度更快,设计用于快速访问内存中的项目或比较项目等。

假设两个不同的场景。如果你想在数据库中存储密码,你必须使用类似pbkdf2的东西,这样它更安全,生成速度也更慢,以防止暴力。但在另一种情况下,您只想拥有一组项,并检查该集合中是否存在项。您可以简单地存储32位或64位的项目哈希(例如类),并快速比较哈希而不是类。

例如,对于字符串"hello",计算和存储1267296259要快得多,因为它是一个32位整数,计算和保存aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d更安全、更慢。

附言:这里就是一个很好的例子。

最新更新