Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyahsulit Data AES dalam Mod ECB Menggunakan Go?

Bagaimana untuk Menyahsulit Data AES dalam Mod ECB Menggunakan Go?

Barbara Streisand
Barbara Streisandasal
2024-11-04 09:48:30851semak imbas

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>
  2. Buat sifir baharu:

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

    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>

    data mewakili data yang disulitkan.

  4. Tentukan saiz blok:

    <code class="go">size := 16 // block size for AES-128</code>
  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>

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

  6. Kembalikan data yang dinyahsulit:

    <code class="go">return decrypted</code>

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!

Kenyataan:
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