Java で OpenSSL AES-CBC 暗号化ファイルを復号化する方法
Dec 14, 2024 am 07:46 AMCBC モードの OpenSSL の AES で暗号化された Java でのファイルの復号化
OpenSSL は、ソルトベースのパスワード キー導出方法と Base64 MIME を使用してファイルを暗号化しますエンコーディング。 Java でこのようなファイルを復号化するには、次の手順に従ってください:
-
ソルトとキーの生成:
salt = random(8) keyAndIV = EVP_BytesToKey(password, salt, 48) key = keyAndIV[0..31] iv = keyAndIV[32..47]
ログイン後にコピー -
塩を抽出し、暗号文:
base64 エンコードされたファイルから:
- ソルト: バイト 8-15
- 暗号文: バイト 16以降
-
復号化:
aesCBC.init(Cipher.DECRYPT_MODE, key, iv) plaintext = aesCBC.doFinal(ciphertext)
ログイン後にコピー -
OpenSSL EVP_BytesToKey実装:
public static byte[][] EVP_BytesToKey(int key_len, int iv_len, MessageDigest md, byte[] salt, byte[] data, int count) { // ... }
ログイン後にコピー -
主な復号化方法:
public static void main(String[] args) { // ... }
ログイン後にコピー
追加注:
- 文字セットとして ASCII を一貫して使用します。
- OpenSSL と Java の両方でダイジェスト アルゴリズム (MD5 または SHA-256) を指定します。
- セキュリティを向上させるために PBKDF2 を使用してください。
- 次の期間で OpenSSL のダイジェスト アルゴリズムが変更されることに注意してください。バージョン。
以上がJava で OpenSSL AES-CBC 暗号化ファイルを復号化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
2つのポイント博物館:すべての展示とそれらを見つける場所
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
2つのポイント博物館:すべての展示とそれらを見つける場所
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7126
9


Java チュートリアル
1534
14


Laravel チュートリアル
1256
25


PHP チュートリアル
1205
29


CakePHP チュートリアル
1153
46



Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?

2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?
