如何解密C++中的字符串数据与加密货币++其中原始字符串在 Python 中使用 pyCrypto 加密
我刚刚用 pyCrypto 轻松加密了一个数据字符串,但不知道如何在 crypto++ 中解密它。任何人都可以帮助使用 crypto++ 编写 C++ 示例解密代码吗? 这是我的Python代码:
key = '0123456789abcdef'
data = "aaaaaaaaaaaaaaaa"
iv = ''.join(chr(random.randint(0, 0xFF)) for i in range(16))
encryptor = AES.new(key, AES.MODE_CBC, iv)
enc = encryptor.encrypt(data)
I've just encrypted a data string with pyCrypto easily, but don't know how to decrypt it in crypto++. Anybody can help with a sample decryption code in C++ with crypto++?
Here is my python code:
key = '0123456789abcdef'
data = "aaaaaaaaaaaaaaaa"
iv = ''.join(chr(random.randint(0, 0xFF)) for i in range(16))
encryptor = AES.new(key, AES.MODE_CBC, iv)
enc = encryptor.encrypt(data)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
与@Jon相同的方法,有点简化
CryptoPP::StringSource
的true
参数意味着“消耗整个输入”请注意,(显然)你需要你的C++解密器知道您用于加密的 IV。由于您在 python 中生成随机 IV,因此流行的技术是将 IV 添加到加密文本的前面。
same approach as @Jon, a bit simplified
The
true
parameter toCryptoPP::StringSource
means "consume the whole input"Note that (obviously) you need your C++ decryptor to know the IV you used for encryption. Since you generate a random IV in python, the popular technique is to prepend the IV to the encrypted text.
此代码来自 2005 年的示例,但它应该为您提供一个良好的起点:
This code is from an example from 2005, but it should give you a good starting point: