2

私はopenssl1.0.1c、linuxx86_64を使用しています

「hello」を含むファイルを作成しています(改行文字なし)

  • openssl dgst -sha256 hello_file

私は得る:5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03


他のオンライン計算を使用している場合(1、2、3、4、5(評判がないため、これ以上ハイパーリンクを作成できません)

私は得る:2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

最も紛らわしいのは、 「hello(改行文字)」 を使用してオンライン計算機を試している場合です。

1リターン:5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03

そしてそれはまさに私がopensslで得ているものです。他のすべてが戻っている間

2、3、4、5 :cd2eca3535741f27a8ae40c31b0c41d4057a7a7b912b33b9aed86485d1c84676

エコーの改行の問題については知っていましたが、各ファイルに改行が追加されていることを知りませんでした。では、改行文字なしでファイルのsha256を取得するにはどうすればよいですか?そして、他のすべての計算機の何が問題になっていますか?

前もって感謝します

キリル


3 convertstring.com/Hash/SHA256

4 webutils.pl/index.php?idx=sha1

5 quickhash.com

4

1 に答える 1

3

あなたは正しいです、あなたhello_fileは改行を持っています:

$ echo 'hello' > hello_file; openssl sha256 hello_file; xxd hello_file
SHA256(hello_file)= 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03
0000000: 6865 6c6c 6f0a                           hello.

新しい行を削除するのは編集者によって異なります。この投稿を見つけたときの状況が私のものと似ている場合は、パスワードのハッシュをいじって、次のようにすることができます。

$ echo -n 'hello' > hello_file; openssl sha256 hello_file; xxd hello_file
SHA256(hello_file)= 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
0000000: 6865 6c6c 6f                             hello

次のようにして、最後の文字(または2つ)を削除できます。

$ echo "hello" > hello_file; od -c hello_file; truncate hello_file --size=-1; od -c hello_file
0000000   h   e   l   l   o  \n
0000006
0000000   h   e   l   l   o
0000005

他の計算機がdosスタイルのキャリッジリターン+改行を追加しているように見えます

$ echo -en 'hello\r\n' > hello_file; openssl sha256 hello_file; xxd hello_file
SHA256(hello_file)= cd2eca3535741f27a8ae40c31b0c41d4057a7a7b912b33b9aed86485d1c84676
0000000: 6865 6c6c 6f0d 0a                        hello..
于 2013-07-10T18:25:55.847 に答える