Déchiffrement des données AES en mode ECB à l'aide de Go
En réponse à la requête concernant le décryptage des données à l'aide d'AES-ECB dans Go, la solution suivante peut être utilisé :
Le mode livre de codes électronique (ECB) est un mode fondamental qui divise les données en blocs d'une taille spécifiée (par exemple, AES-128 utilise des blocs de 16 octets). Chaque bloc est ensuite chiffré indépendamment à l'aide de l'algorithme AES, ce qui donne le bloc chiffré.
Pour décrypter les données chiffrées à l'aide d'AES-128 ECB, suivez ces étapes :
Importer le module nécessaire :
<code class="go">import ( "crypto/aes" )</code>
Créer un nouveau chiffre :
<code class="go">cipher, _ := aes.NewCipher([]byte(key))</code>
Remplacer la clé par la clé de cryptage utilisé pour crypter les données.
Créez un tampon vide pour stocker les données décryptées :
<code class="go">decrypted := make([]byte, len(data))</code>
les données représentent les données cryptées.
Définir la taille du bloc:
<code class="go">size := 16 // block size for AES-128</code>
Déchiffrer chaque bloc:
<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>
Cette boucle décrypte chaque bloc et stocke le résultat dans le tampon déchiffré.
Renvoyer les données décryptées:
<code class="go">return decrypted</code>
N'oubliez pas que le mode ECB présente des failles de sécurité connues, car des blocs identiques entraîneront toujours les mêmes blocs cryptés. Envisagez d'autres modes de fonctionnement, tels que CBC ou GCM, pour un cryptage plus sécurisé avec AES.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!