19

私が望むのは、特定のパスワードの sha1 ハッシュ値を取得できるようにすることです。

たとえば、パスワードが「hello」の場合、hello の sha1 ハッシュ値を取得するには、Linux にどのコマンドを入力する必要がありますか?

私は試した

echo -n "hello" | sha1sum

しかし、返された値は、ログインを検証するためにハッシュ値を取得するデータベース ストアド プロシージャによって受け入れられた値を提供しませんでした (検証目的であらゆる場所で使用するため、このストアド プロシージャには問題はありません)。 .

基本的、

文字列を指定して、その sha1 ハッシュ値を取得するコマンドを知っているだけです。

ありがとう!:)

4

3 に答える 3

32

私はこれが本当に古いことを知っていますが、これが機能しなかった理由とその対処方法を次に示します。

を実行すると、

echo -n "hello" | sha1sum

あなたの例のように

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d  -

末尾の「-」に注意してください。

前のハッシュは、hello の正しい sha1 ハッシュですが、ダッシュがハッシュを台無しにしています。

最初の部分だけを取得するには、次のようにします。

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

これにより、awk を介して出力がフィードされ、最初の列のみが表示されます。結果: 「hello」の正しい sha1

aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

これが誰かに役立つことを願っています。

于 2016-05-24T20:31:30.770 に答える
5

パスワードの形式は、アプリケーションによって異なる場合があります。たとえば、次の/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
#

アプリケーションの正確なパスワード形式とパスワードの生成方法を知る必要があります。

于 2013-03-26T03:10:01.343 に答える