Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash 什么类型的密码哈希_Hash_Passwords_Password Hash - Fatal编程技术网

Hash 什么类型的密码哈希

Hash 什么类型的密码哈希,hash,passwords,password-hash,Hash,Passwords,Password Hash,!!MJXAy。。。。41个字符,A-Z A-Z 0-9 我有一个旧web应用程序的密码列表,但不再有创建/验证哈希的源代码。 我想它可能是django应用程序,但不能确定。 我在寻找散列的类型,或者源代码的链接,这样我就可以验证登录 有什么想法/建议吗?您可能只需要禁用40个字符的哈希 !!和*通常放在散列的开头或结尾,以可逆地禁用帐户,因为这些字符从未出现在大多数散列中,从而使包含它们的任何散列都无法匹配 如果需要重新激活帐户,可以简单地删除明显无效的禁用字符,恢复原始密码,而无需知道原始密

!!MJXAy。。。。41个字符,A-Z A-Z 0-9 我有一个旧web应用程序的密码列表,但不再有创建/验证哈希的源代码。 我想它可能是django应用程序,但不能确定。 我在寻找散列的类型,或者源代码的链接,这样我就可以验证登录


有什么想法/建议吗?

您可能只需要禁用40个字符的哈希

!!和*通常放在散列的开头或结尾,以可逆地禁用帐户,因为这些字符从未出现在大多数散列中,从而使包含它们的任何散列都无法匹配

如果需要重新激活帐户,可以简单地删除明显无效的禁用字符,恢复原始密码,而无需知道原始密码或与用户交互

如果所有的散列都以感叹号开头,那么可能是出于某种原因故意禁用了所有的散列

值得一提的是,我所知道的两种Django格式从 ,两种明文均为“hashcat”:

Django (PBKDF2-SHA256): 
pbkdf2_sha256$20000$H0dPx8NeajVu$GiC4k5kqbbR9qWBlsRgDywNqC2vd9kqfk7zdorEnNas=

Django (SHA-1):
sha1$fe76b$02d5916550edf7fc8c886f044887f4b1abf9b013
这两个角色都是咸的,似乎与你的角色集不匹配。您的哈希可能是自定义的,最后一步是base64转换,但没有尾随=

我能看到的最接近的是转换为base64的ASCII MD5哈希和转换为base64的二进制SHA26哈希,但它们都是44个字符


你最好的办法可能是剪掉头发!并尝试使用验证,这将尝试许多不同类型和链的散列、编码和截断。

如果旧程序使用了salt,而您不知道salt可能是什么,那么您可能只想让所有用户通过电子邮件或其他方式重设密码。有很多常见的哈希算法,如果你知道一个明文密码和它的哈希值,你可以尝试一下。没有盐,我想我可能需要擦除密码集,然后从scrath开始。我的谷歌搜索没有返回任何以开头的哈希!你的位置,在所有方面。在进一步挖掘之后,这些数据库行没有被激活。如中所示,它们有一个具有值的activation_key列。Django会保存字段中的所有有用项。非常感谢。