RSA暗号化ハッシュの使用

RSA暗号化ハッシュの使用

次のようにハッシュを暗号化する必要があります。

2c1400f69867571ab4e60d3b8f01e0b17c7be89e321f91f8a07cd39eeba202e2

mykey.key私に提供された公開鍵を使用してRSAアルゴリズムを使用します(例:)。どうすればいいですか?ウェブサイトで使用するように案内するのを見ていますが、opensslどうすればいいかわかりません。

編集:私はこれを試しました

ファイルを作成し、次のようにしてハッシュをプッシュしました。

echo "2c1400f69867571ab4e60d3b8f01e0b17c7be89e321f91f8a07cd39eeba202e2" >file.txt

それではこれ

openssl rsautl -inkey mykey.key -pubin -encrypt -in file.txt > file.txt.enc

メモ帳で file.txt.enc を開こうとすると、次のメッセージが表示されます。

暗号文の出力

バイナリ形式の暗号文の結果が必要なため、これが暗号化に成功したかどうかはわかりません。

ベストアンサー1

バイナリ形式の暗号文の結果が必要なため、これが暗号化に成功したかどうかはわかりません。

暗号化が成功したかどうかをテストしたい場合は、今すぐ復号化してプレーンテキストを回復できることを確認してください。プレーンテキストを回復できるといいでしょう。


「バイナリ形式」が実際に何を意味するのか混乱しているようです。

これ:

2c1400f69867571ab4e60d3b8f01e0b17c7be89e321f91f8a07cd39eeba202e2

実際には16進数フォーマット-aテキスト表現バイナリ値。

システム内のすべてのファイルまたはデータブロックは最終的に一連のバイト- バイト(単純化のためにビットについて心配しないでください)は0から255の数字です。バイトは、10進数、16進数、2進数、またはバイトを処理するためにアプリケーションが実行する必要があるすべての項目として書き込みまたは表示できます。

テキストを数値、UTF-8、Unicodeなどで表現するさまざまな方法があります。

これを説明するために、バイトに変換されたテキスト文字列「2c1400f69867571ab4e60d3b8f01e0b17c7be89e321f91f8a07cd39eeba202e2」は次のとおりです(10進数で表示)。

 50  99  49  52  48  48 102  54  57  56  54  55  53  55  49  97
 98  52 101  54  48 100  51  98  56 102  48  49 101  48  98  49
 55  99  55  98 101  56  57 101  51  50  49 102  57  49 102  56
 97  48  55  99 100  51  57 101 101  98  97  50  48  50 101  50

改行文字を追加します。合計65バイトまたはロケールが16ビット文字(Unicodeなど)を使用している場合は、130バイトです。 Unicodeは上記の値と同じで、各値の前に0が付きます。もちろん、テキストが表す値と同じではありません。

したがって、上記の一連のバイトは、openssl実際の値「2c1400f69867571ab4e60d3b8f01e0b17c7be89e321f91f8a07cd39eeba202e2」(非常に長い10進数)ではなく、実際に暗号化するように指示します。

したがって、上記の内容に応じて、file.txt.enc65個または130個の任意の値があります。これがメモ帳が提示したいものです。

今あなたが望むならテキストの16進表現~のコンテンツあなたのものfile.txt.enc- 私の考えにはこれが効果があるようです。これ):

xxd -p file | tr -d '\n'

おすすめ記事