ハッシュと比較するために公開鍵で文字列を復号化しようとしています。コードは次のとおりです
byte[] dectyptedText = null;
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.DECRYPT_MODE, key);
dectyptedText = cipher.doFinal(text);
return dectyptedText;
上記のコードは、次のような文字列を生成します (base64encode)
MCEwCQYFKw4DAhoFAAQUy3qkZYgfRVo2Sv1F9bHa3pDs044=
ハッシュは次のコードによって生成されます
byte[] key = stringToHash.getBytes();
MessageDigest md = MessageDigest.getInstance("SHA-1");
hash = md.digest(key);
上記のコードは、次のようなサンプル ハッシュを生成します。
y3qkZYgfRVo2Sv1F9bHa3pDs044 =
両方がy3qkZYgfRVo2Sv1F9bHa3pDs044 = である正しいハッシュを持っていることに気付いた場合 = しかし、復号化コードは余分なMCEwCQYFKw4DAhoFAAQUを生成して先頭に追加します
この余分なものがどのように追加され、その理由が理解できません。
誰かがこれに光を当てることができますか?
ありがとう
プレミアム