sha1密码哈希linux

我想要的是能够获得特定密码的sha1哈希值。

因此,例如,如果我的密码是“你好”我需要input到Linux来获得你好sha1散列值什么命令?

我试过了

echo -n "hello" | sha1sum 

但它返回的值没有给出一个被数据库存储过程接受的值,它接受哈希值来validationlogin(这个问题不在这个存储过程中,因为我们在整个地方使用它来进行validation) 。

基本上,

我只需要知道一个命令给一个string,并得到它的sha1哈希值

谢谢! 🙂

密码格式在不同的应用程序中可能有所不同。 例如,对于/etc/passwd您可以使用以下命令生成SHA-256密码:

 # perl -e 'print crypt("password", q($5$salt$)), "\n";' $5$salt$Gcm6FsVtF/Qa77ZKD.iwsJlCVPY0XSMgLJL0Hnww/c1 # 

对于LDAP密码(例如slapd.conf ),可能是:

 # slappasswd -h "{SSHA}" New password: Re-enter new password: {SSHA}bjEe8dPBjyecc7hD1kUhxQUdF9dt4Hya # 

您需要知道应用程序的确切密码格式以及如何生成密码。

我知道这是非常古老的,但这是为什么它没有工作,该怎么办:

当你运行

 echo -n "hello" | sha1sum 

就像你的例子一样

 aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d - 

最后注意“ – ”。

前面的散列是你好的正确的sha1散列,但破折号混淆了散列。

为了得到只有第一部分,你可以做到这一点:

 echo -n "hello" | sha1sum | awk '{print $1}' 

这将通过awk提供你的输出,只给你第一列。 结果:“hello”的正确sha1

 aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d 

希望这有助于某人。

 echo -n YOUR_TEXT | sha1sum | awk '{print $1}' 

将YOUR_TEXT与您必须对其进行哈希处理的文本进行交换。