gpt4 book ai didi

python - python中的AES-GCM解密

转载 作者:数据小太阳 更新时间:2023-10-29 03:10:54 26 4
gpt4 key购买 nike

我正在尝试解密从 AES_GCM 生成的密文。密文是从 golang 中的“crypto/aes”库生成的。现在,我正在尝试使用 cryptodome 库破译 python 中的加密文本。

func AESEncryption(key []byte, plaintext []byte)([]byte, error){
c, err := aes.NewCipher(key)
if err != nil {
log.Printf("Error ocurred in generating AES key %s", err)
return nil, err
}

gcm, err := cipher.NewGCM(c)
if err != nil {
return nil, err
}

nonce := make([]byte, gcm.NonceSize())
if _, err = io.ReadFull(rand.Reader, nonce); err != nil {
log.Printf("Error ocurred in generating AES key %s", err)
return nil, err
}

return gcm.Seal(nonce, nonce, plaintext, nil), nil

}

plainText := "我会成为我应得的,有没有像自由意志这样的东西?"

十六进制编码的 key :e629ed98829a893899ddda67f582ede72e2a187dd1ddd5ada54f49cfe2c8675f

十六进制编码的加密文本 =9012a33bfb0a51dec4f96404cdd7300ec6afca1fa0d6679a7c036652d014a38faf909e9c44d08dffac121aa85d48b7256fa74542e2545e27dc070adfc03af26f2a32f50c2c311d5c91ff6de2ca3b4347da70669575c9b198f4解密密文在golang中执行成功但在python中执行不成功。

python解密代码。

cipher = AES.new(binascii.unhexlify(key), AES.MODE_GCM)
cipher.nonce = binascii.unhexlify(nonce)
cipher.decrypt(binascii.unhexlify(hex_encoded_encrypted_hex))

最佳答案

对我来说就像一个魅力。

from Crypto.Cipher import AES
import binascii

key = binascii.unhexlify('e629ed98829a893899ddda67f582ede72e2a187dd1ddd5ada54f49cfe2c8675f')
data = binascii.unhexlify('9012a33bfb0a51dec4f96404cdd7300ec6afca1fa0d6679a7c036652d014a38faf909e9c44d08dffac121aa85d48b7256fa74542e2545e27dc070adfc03af26f2a32f50c2c311d5c91ff6de2ca3b4347da70669575c9b198f4')
nonce, tag = data[:12], data[-16:]
cipher = AES.new(key, AES.MODE_GCM, nonce)
cipher.decrypt_and_verify(data[12:-16], tag)

显示

b'I will become what I deserve, Is there anything like freewil?'

关于python - python中的AES-GCM解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52021391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com