Maison  >  Article  >  développement back-end  >  Comment décrypter le cryptage en mode AES ECB en Go ?

Comment décrypter le cryptage en mode AES ECB en Go ?

DDD
DDDoriginal
2024-11-01 08:52:30690parcourir

How to Decrypt AES ECB Mode Encryption in Go?

Cryptage AES ECB dans Go

Le cryptage en mode AES ECB, où chaque bloc de texte en clair est crypté indépendamment, est un cryptage simple mais potentiellement non sécurisé méthode. Dans Go, vous pouvez effectuer le décryptage AES ECB en utilisant le code suivant :

<code class="go">package main

import (
    "crypto/aes"
    "fmt"
)

func decryptAes128Ecb(data, key []byte) []byte {
    cipher, _ := aes.NewCipher(key)
    decrypted := make([]byte, len(data))
    size := 16

    for bs, be := 0, size; bs < len(data); bs, be = bs+size, be+size {
        cipher.Decrypt(decrypted[bs:be], data[bs:be])
    }

    return decrypted
}

func main() {
    key := []byte("YourEncryptionKey")
    data := []byte("DataToBeEncrypted")
    ciphertext := encryptAes128Ecb(data, key)
    fmt.Println("Ciphertext:", ciphertext)

    plaintext := decryptAes128Ecb(ciphertext, key)
    fmt.Println("Plaintext:", plaintext)
}</code>

Notez que le mode ECB n'est pas considéré comme sécurisé pour les applications pratiques car il manque de diffusion et peut être vulnérable à des attaques comme le « livre de codes électronique » attaque. Par conséquent, il est généralement recommandé d'utiliser un mode plus sécurisé tel que CBC.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn