Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menyahsulit AES dalam Mod ECB dengan Go?
Menyahsulit AES dalam Mod ECB dengan Go
Soalan:
Anda menghadapi masalah semasa melaksanakan penyulitan mod AES ECB dalam Go. Secara khususnya, anda tidak pasti cara menukar mod penyulitan dalam pakej crypto/aes dan kod anda pada masa ini tidak memberikan hasil yang betul.
Jawapan:
Memahami Mod ECB:
Buku Kod Elektronik (ECB) ialah mod penyulitan mudah di mana setiap blok data disulitkan secara bebas menggunakan algoritma AES. Data dibahagikan kepada blok bersaiz tetap (biasanya 16 bait untuk AES) dan setiap blok disulitkan dengan kunci penyulitan yang sama.
Melaksanakan Penyahsulitan Mod ECB dalam Go:
Untuk menyahsulit data AES dalam mod ECB menggunakan pakej crypto/aes Go, anda boleh menggunakan kod berikut:
<code class="go">package main import ( "crypto/aes" ) func DecryptAes128Ecb(data, key []byte) []byte { cipher, _ := aes.NewCipher([]byte(key)) decrypted := make([]byte, len(data)) // Define the block size size := 16 // Iterate over the data and decrypt each block for bs, be := 0, size; bs < len(data); bs, be = bs+size, be+size { cipher.Decrypt(decrypted[bs:be], data[bs:be]) } return decrypted }</code>
Nota tentang Keselamatan Mod ECB:
Walaupun mod ECB adalah mudah untuk dilaksanakan, adalah penting untuk ambil perhatian bahawa ia secara amnya dianggap tidak selamat. Ini kerana blok teks biasa yang berulang akan sentiasa menyulitkan kepada blok teks sifir yang sama, menjadikan corak dalam data mudah dikesan. Atas sebab ini, mod ECB biasanya tidak disyorkan untuk kegunaan praktikal.
Atas ialah kandungan terperinci Bagaimana untuk Menyahsulit AES dalam Mod ECB dengan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!