golang加密cipher.Block / AES密钥本身

时间:2017-09-28 15:33:19

标签: go encryption aes encryption-asymmetric

我使用cipher.Block类型的AES密钥,使用crypto/aes包生成以下函数:

aesBlock, err := aes.NewCipher(randKey)

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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