問題タブ [badpaddingexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1249 参照

java - BadPaddingException を引き起こす Java AES 復号化

AES 暗号化/復号化メソッドを作成しようとしていますが、AES/ECB/NoPadding を使用しないと元の入力を取得できないようです。現在、AES/CBC/PKCS7Padding を使用しようとしています。ファイルへのバイトの読み書きが正常に動作することを確認しました。PKCS7 パディングを使用すると、BadPaddingException が発生します

復号化メソッドで。パディングなしでも例外はありませんが、出力はスクランブルされます。このまったく同じ問題について他の投稿に時間を費やしましたが、私の問題に合った解決策が見つからないようです。

その出力のスクランブルを解除するにはどうすればよいですか?

編集 1: ファイルから読み取った暗号化された配列を適​​切なサイズにしました

編集 2: 各メソッドの代わりにコンストラクターで初期化されたキーと暗号

0 投票する
1 に答える
2142 参照

java - AES 暗号化/復号化: 最終ブロックが適切にパディングされていない場合

文字列 (ほとんどが数値) を暗号化または復号化するメソッドを作成しようとしています。一部のテキスト (例: '1010000011'、'1010000012'、'1010000013') では正常に動作しますが、他のテキスト (例: '1010000014'、'1010000018') では次のエラーが発生します。

javax.crypto.BadPaddingException: 最終ブロックが適切にパディングされていない場合

ここに私のコードがあります:

暗号化される文字列はファイルから読み取られ、暗号化後に別のファイルに書き込まれます。この暗号化されたテキストは、後で復号化する必要があります。これらのメソッドを次の方法で呼び出しています。

0 投票する
1 に答える
69 参照

java - 一意のファイルに IVSBytes を追加してファイルを暗号化する - 例外: 最終ブロックが適切に埋め込まれていない場合

SHA-256 キーで AES を使用してファイルを暗号化しようとしています。IV を生成するときは、暗号化されたファイルの先頭に追加し、残りを追加します。

IV を復元して比較すると (IV のプロセス後とその後)、それらは同じです。問題は、ファイルを復号化しようとしたときです。

javax.crypto.BadPaddingException: 最終ブロックが適切にパディングされていない場合

次のバイトを正しく読み取っていないことが原因である可能性があると思いますが、コードを修正すると、問題ないようです。

暗号クラス:

エラーメッセージが表示されました...最初の16バイト以降のバイトを正しく読み取っていないためでしょうか? それとも、byte[] encBytes の適切なサイズを指定していないためでしょうか?

ソルトの生成に使用:

0 投票する
0 に答える
397 参照

java - https URL で HttpURLConnection を使用しようとすると javax.crypto.BadPaddingException 復号化エラーが発生する

Java アプリケーションから Web サービスを使用しようとしています。Web サービス サイトは、https を介して提供されます。

このコードを書いているのですが、javax.crypto.BadPaddingException 復号化エラーが出ています。

この問題はどのように解決できますか?

0 投票する
0 に答える
713 参照

java - RSA 復号化中の例外: javax.crypto.BadPaddingException: データはゼロから開始する必要があります

RSA 形式のパスワードを復号化しようとしていますが、例外が返されます

暗号化と復号化を順番に行うと、正常に動作します。

秘密鍵と公開鍵に問題があるようですが、以下のコードにその証拠はありますか?

ありがとう

クライアント:

サーバ:

}

0 投票する
1 に答える
2456 参照

java - java - int を復号化しようとすると RSA BadPaddingException が発生する

以前にも同様の質問があったことは知っていますが、私の問題に固有の回答が見つかりません。RSA 暗号化を使用して、暗号化されたピクセルを含む画像を取得し、同じ秘密鍵を使用して復号化しようとしています。getRGB() を使用して画像のピクセルから取得した int を復号化しようとすると、問題が発生し続けます。ここに私のコードがあります:

これは、別のクラスからメソッド RSADecryptB を呼び出すメイン クラスにあります。そのメソッドは次のとおりです。

}

プログラムを実行すると、出力は次のようになります。

なぜこれが起こっているのかわかりません。-1606258341 はピクセルの値で、5 と 4 の出力は NoSuchPaddingException と BadPaddingException によるものです。なぜこれが起こっているのか、そして私が何を間違っているのかを説明できる人がいれば、それは素晴らしいことです. ありがとう!

編集:おそらくRSAを直接使用すべきではないことはわかっていますが、ピクセルごとに自分で暗号化も行っています。最も効率的で安全なプログラムを作成するためではなく、bufferedimages/byte arrays/rsa を使用して練習するためにこれを行っています。また、暗号化メソッドで整数を復号化すると、正常に機能します。別の方法で復号化すると、エラーが発生します。また、画像を暗号化してファイルに保存し、解凍して復号化します。これも私の暗号化方法です(パディングは使用しません):

次に、RSAEncrypt メソッドを次に示します。