3

次の値を取ることができるシェルコマンドまたはシェルスクリプトが必要です

dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11

次に、その SHA-1 ハッシュを生成します。

0xb3 0x7a 0x4f 0x2c 0xc0 0x62 0x4f 0x16 0x90 0xf6
   0x46 0x06 0xcf 0x38 0x59 0x45 0xb2 0xbe 0xc4 0xea

Base64を使用してこの値をエンコードすると、次のようになります

s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

次のコードを使用して、Javaでこれを簡単に行うことができます

String key = "dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11";

MessageDigest md = MessageDigest.getInstance("SHA-1");

//s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
System.out.println(Base64.encodeBase64String(md.digest(key.getBytes())));

これまで私は試してきました

echo -n "dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11" | openssl sha1 -binary | base64

そして念のため

echo -n "dGhlIHNhbXBsZSBub25jZQ==258EAFA5-E914-47DA-95CA-C5AB0DC85B11" | openssl dgst -sha1  | base64

しかし、それらはすべて間違った値を出力します。

この問題を解決するために、私にいくつかの提案をするか、私を助けてください。

前もって感謝します。

4

0 に答える 0