Rumah > Java > javaTutorial > Bagaimana untuk Menyahsulit OpenSSL AES-CBC Fail Disulitkan di Java?

Bagaimana untuk Menyahsulit OpenSSL AES-CBC Fail Disulitkan di Java?

Linda Hamilton
Lepaskan: 2024-12-14 07:46:11
asal
597 orang telah melayarinya

How to Decrypt OpenSSL AES-CBC Encrypted Files in Java?

Menyahsulit Fail dalam Java Disulitkan dengan AES OpenSSL dalam Mod CBC

OpenSSL menyulitkan fail menggunakan kaedah terbitan kunci kata laluan berasaskan garam dan base64 MIME pengekodan. Untuk menyahsulit fail tersebut dalam Java, patuhi langkah berikut:

  1. Jana Garam dan Kunci:

    salt = random(8)
    keyAndIV = EVP_BytesToKey(password, salt, 48)
    key = keyAndIV[0..31]
    iv = keyAndIV[32..47]
    Salin selepas log masuk
  2. Ekstrak Garam dan Teks Sifir:

    Daripada base64 yang dikodkan fail:

    • Garam: bait 8-15
    • Ciphertext: bait 16 seterusnya
  3. Nyahsulit:

    aesCBC.init(Cipher.DECRYPT_MODE, key, iv)
    plaintext = aesCBC.doFinal(ciphertext)
    Salin selepas log masuk
  4. OpenSSL EVP_BytesToKey Pelaksanaan:

    public static byte[][] EVP_BytesToKey(int key_len, int iv_len, MessageDigest md,
            byte[] salt, byte[] data, int count) {
        // ...
    }
    Salin selepas log masuk
  5. Kaedah Penyahsulitan Utama:

    public static void main(String[] args) {
        // ...
    }
    Salin selepas log masuk

Nota Tambahan :

  • Gunakan ASCII sebagai watak ditetapkan secara konsisten.
  • Nyatakan algoritma ringkasan (MD5 atau SHA-256) dalam kedua-dua OpenSSL dan Java.
  • Gunakan PBKDF2 untuk keselamatan yang dipertingkatkan.
  • Berhati-hati dengan perubahan dalam OpenSSL algoritma cerna antara versi.

Atas ialah kandungan terperinci Bagaimana untuk Menyahsulit OpenSSL AES-CBC Fail Disulitkan di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan