golang 加密 cipher.Block/AES key 本身

标签 go encryption aes encryption-asymmetric

我正在使用 cipher.Block 类型的 AES key ,该 key 是通过使用具有以下功能的 crypto/aes 包生成的:

aesBlock, err := aes.NewCipher(randKey)

我用它来加密一组特定的数据,但之后我想用公钥加密 aesBlock 本身,这样我就可以存储并稍后用非对称私钥解密。但是,我很难找到加密 aesBlock 的最佳方法。显然这需要是可逆的,这样我才能用它来解密前面提到的数据。

func EncryptOAEP来自 crypto/aes 似乎很合适,因为它需要一个 *PublicKey,但是 msg 参数的类型是 [] byte 并且我的 AES key 是 cipher.Block 类型。不确定直接转换是否可行,甚至是一个好主意。

有什么想法吗?

最佳答案

正如 Adrian 在评论中指出的那样,解决方案比我想象的要简单。您需要做的就是加密并存储 randKey。使用解密的 randKey 重新生成 aesBlock 会产生相同的结果。

关于golang 加密 cipher.Block/AES key 本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46473100/

相关文章:

encryption - lua aes加密

从delphi 7到xe的字符串编码错误

git - 在 golang 中导入私有(private)存储库时版本和 https 引用无效

testing - 如果直接访问其字段,如何模拟结构

java - 使用 AES 算法解密消息时异常 :Given final block not properly padded

c - 如何正确加密文件 AES-CBC?

python - Python 中的 AES 128

go - AES CTR 失败测试向量(一个除外)

无序字符串集的良好哈希函数?

go - 我可以在一个函数上使用两个 for 循环还是有更好的方法?