golang加密密码。块/AES密钥本身

golang加密密码。块/AES密钥本身,go,encryption,aes,encryption-asymmetric,Go,Encryption,Aes,Encryption Asymmetric,我正在使用类型为cipher.Block的AES密钥,该密钥是使用crypto/AES包生成的,具有以下功能: aesBlock, err := aes.NewCipher(randKey) 我用它来加密一组特定的数据,但之后我想用公钥加密aesBlock本身,这样我就可以存储并稍后用非对称私钥解密。然而,我很难找到加密aesBlock的最佳方法。显然,这需要是可逆的,以便我可以使用它来解密前面提到的数据 fromcrypto/aes似乎很合适,因为它需要一个*公钥,但是msg参数的类型是[]

我正在使用类型为
cipher.Block
的AES密钥,该密钥是使用
crypto/AES
包生成的,具有以下功能:

aesBlock, err := aes.NewCipher(randKey)
我用它来加密一组特定的数据,但之后我想用公钥加密
aesBlock
本身,这样我就可以存储并稍后用非对称私钥解密。然而,我很难找到加密aesBlock的最佳方法。显然,这需要是可逆的,以便我可以使用它来解密前面提到的数据

from
crypto/aes
似乎很合适,因为它需要一个
*公钥
,但是
msg
参数的类型是
[]字节
,我的aes密钥的类型是
密码.Block
。不确定直接转换是可能的,甚至不是一个好主意


有什么想法吗?

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

为什么要尝试加密
aesBlock
本身?只需加密和存储
randKey
,并根据需要创建一个新的
aesBlock
。使用
randKey
是否会重新创建相同的
aesBlock
?我想我认为这更像是一种盐,有助于进一步随机化
aesBlock
。嗯,你是对的,我刚刚测试过。真不敢相信我竟然没有意识到这一点。谢谢你的帮忙。