web-dev-qa-db-ja.com

base64でエンコードされたshaXバイナリ文字列を復号化するにはどうすればよいですか?

暗号化されたbase64でエンコードされたSHAX文字列 の場合、どのコマンドで復号化して元の文字列に戻すことができますか?

1
αғsнιη

リンクされた投稿から、元の文字列は次のような方法で生成されました

echo -n foo | openssl dgst -binary -sha1 | openssl base64

これが生成するのはダイジェストで、SHA1がダイジェストの計算方法です。

この状況では、元の文字列を再構築するためのデータが不十分です。このダイジェストは元の文字列のチェックサムであり、検証に使用できます。メッセージが改ざんされていないことを確認します。

したがって、メッセージを含むファイルxyzzyがある場合は、実行できます。

cat xyzzy | openssl dgst -binary -sha1 | openssl base64

結果が最初と同じ文字列である場合は、変更されていないことを確信できます。

最善の方法は、base64部分を削除してバイナリダイジェストを取得することです。

echo $base64string | openssl base64 -d

しかし、これはnot元のメッセージであり、チェックサムだけです。元のメッセージはnotダイジェストから再構築可能です。

2
Stephen Harris