ホームページ  >  記事  >  バックエンド開発  >  GoでAES ECBモード暗号化を復号化する方法?

GoでAES ECBモード暗号化を復号化する方法?

DDD
DDDオリジナル
2024-11-01 08:52:30690ブラウズ

How to Decrypt AES ECB Mode Encryption in Go?

Go での AES ECB 暗号化

AES ECB モード暗号化は、平文の各ブロックが個別に暗号化され、シンプルですが安全ではない可能性のある暗号化です。方法。 Go では、次のコードを使用して AES ECB 復号化を実行できます:

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

ECB モードは拡散が不足しており、「電子コードブック」のような攻撃に対して脆弱である可能性があるため、実用的なアプリケーションにとって安全であるとはみなされていないことに注意してください。攻撃。したがって、一般的には、CBC などのより安全なモードを使用することをお勧めします。

以上がGoでAES ECBモード暗号化を復号化する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。