Bagaimana untuk Menyahsulit Data AES dalam Mod ECB Menggunakan Go?

Barbara Streisand
Lepaskan: 2024-11-04 09:48:30
asal
843 orang telah melayarinya

How to Decrypt AES Data in ECB Mode Using Go?

Menyahsulit Data AES dalam Mod ECB Menggunakan Go

Sebagai tindak balas kepada pertanyaan tentang menyahsulit data menggunakan AES-ECB dalam Go, penyelesaian berikut boleh digunakan:

Mod buku kod elektronik (ECB) ialah 加密方法 asas yang membahagikan data kepada blok saiz tertentu (cth., AES-128 menggunakan blok 16-bait). Setiap blok kemudian disulitkan secara bebas menggunakan algoritma AES, menghasilkan blok yang disulitkan.

Untuk menyahsulit data yang disulitkan menggunakan AES-128 ECB, ikut langkah berikut:

  1. Import modul yang diperlukan:

    <code class="go">import (
     "crypto/aes"
    )</code>
    Salin selepas log masuk
  2. Buat sifir baharu:

    <code class="go">cipher, _ := aes.NewCipher([]byte(key))</code>
    Salin selepas log masuk

    Ganti kunci dengan kunci penyulitan digunakan untuk menyulitkan data.

  3. Buat penimbal kosong untuk menyimpan data yang disulitkan:

    <code class="go">decrypted := make([]byte, len(data))</code>
    Salin selepas log masuk

    data mewakili data yang disulitkan.

  4. Tentukan saiz blok:

    <code class="go">size := 16 // block size for AES-128</code>
    Salin selepas log masuk
  5. Nyahsulit setiap blok:

    <code class="go">for bs, be := 0, size; bs < len(data); bs, be = bs+size, be+size {
     cipher.Decrypt(decrypted[bs:be], data[bs:be])
    }</code>
    Salin selepas log masuk

    Gelung ini menyahsulit setiap blok dan menyimpan hasilnya dalam penimbal yang dinyahsulit.

  6. Kembalikan data yang dinyahsulit:

    <code class="go">return decrypted</code>
    Salin selepas log masuk

Ingat bahawa mod ECB telah mengetahui kelemahan keselamatan, kerana blok yang sama akan sentiasa menghasilkan blok yang disulitkan yang sama. Pertimbangkan mod operasi lain, seperti CBC atau GCM, untuk penyulitan yang lebih selamat dengan AES.

Atas ialah kandungan terperinci Bagaimana untuk Menyahsulit Data AES dalam Mod ECB Menggunakan Go?. 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