我使用cipher.Block
类型的AES密钥,使用crypto/aes
包生成以下函数:
aesBlock, err := aes.NewCipher(randKey)
我使用它来加密一组特定数据,但之后我想用公钥加密aesBlock
本身,以便我可以存储并随后使用非对称私钥进行解密。但是,我很难找到加密aesBlock
的最佳方法。显然,这需要是可逆的,以便我可以用它来解密前面提到的数据。
来自crypto/aes
的{{3}}似乎非常合适,因为它需要*PublicKey
,但msg
参数的类型为[]byte
,而我的AES key的类型为cipher.Block
。不确定直接转换是否可行,甚至不是一个好主意。
有什么想法吗?
答案 0 :(得分:0)
正如阿德里安在评论中指出的那样,解决方案比我想象的要简单。您需要做的就是加密并存储randKey
。使用解密的aesBlock
重新生成randKey
会产生相同的结果。