プロが教える店舗&オフィスのセキュリティ対策術

http://www.convertstring.com/ja/Hash/SHA256
このサイトで a をSHA256ハッシュしたところ

CA978112CA1BBDCAFAC231B39A23DC4DA786EFF8147C4E72B9807785AFEE48BB

という結果が得られました。

ここで質問なのですが

CA978112CA1BBDCAFAC231B39A23DC4DA786EFF8147C4E72B9807785AFEE48BB

この↑値から入力した a という文字を出すことはできるのでしょうか。
色々調べてみましたがちょっと分からなかったので詳しい人教えていただけるとうれしいです。よろしくお願いします。

A 回答 (1件)

https://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83 …

詳細は「ハッシュ関数」で調べていただきたいのですが。

次の2つから、「実質的に不可能」です。

「元の値 」 からは 「ある決まったハッシュ値」が 一つ求められます。(ここは「ハッシュ関数」の絶対条件です)
「あるハッシュ値」 になる 「元の値」は一つとは限りません。

a に対しては、必ず CA97....です。
ですが、 他にも ????? → CA97.... となる ????? が存在するかもしれません。
存在した場合、 CA97.... からは、 a も ????? も候補となります。このうちどれか、を判断する方法はありません。


「よいハッシュ関数」に求められる特徴は次のものです。
・ハッシュがなるべくバラバラになる
・元の値が似ていても、ハッシュはまったく違う値になる
・元の値からは簡単にハッシュが計算できるけど、あるハッシュ値に対応する「元のデータ」は簡単には計算できない

SHA256は、「よいハッシュ関数」とされています。
つまり、ハッシュから元の値を計算するのが、簡単ではありません。
    • good
    • 0
この回答へのお礼

丁寧に分かりやすい回答ありがとうございました。
おかげてよく理解できました。
感謝です(≧▽≦)

お礼日時:2017/09/14 20:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!