Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menyahsulit Penyulitan AES ECB dengan betul dalam Go?
Penyulitan ECB AES dalam Go
Dalam Go, penyulitan AES dalam mod ECB boleh dicapai menggunakan pakej crypto/aes. Mod ECB ialah mod penyulitan mudah di mana setiap blok plaintext disulitkan secara berasingan, menyebabkan blok plaintext berulang menghasilkan blok disulitkan yang sama.
Mentafsir Penyulitan ECB
Go yang disediakan kod cuba menyahsulit data disulitkan AES ECB. Walau bagaimanapun, terdapat beberapa isu:
Penyahsulitan ECB yang betul dalam Go
Kod Go berikut menyediakan fungsi penyahsulitan ECB yang diperbetulkan:
<code class="go">import ( "crypto/aes" "fmt" ) func DecryptAes128Ecb(data, key []byte) []byte { cipher, _ := aes.NewCipher(key) decrypted := make([]byte, len(data)) size := cipher.BlockSize() 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>
Pertimbangan Keselamatan
Adalah penting untuk ambil perhatian bahawa mod ECB adalah tidak selamat dan tidak boleh digunakan dalam aplikasi kriptografi moden. Mod ECB mendedahkan corak dalam data teks biasa, menjadikannya mudah diserang. Mod alternatif seperti CBC atau OFB adalah lebih selamat dan harus dipertimbangkan sebaliknya.
Atas ialah kandungan terperinci Bagaimana untuk Menyahsulit Penyulitan AES ECB dengan betul dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!