我对加密非常陌生,所以这个问题可能很简单 - 但是,我必须谷歌2个小时才能理解基本术语,所以请耐心等待。
我需要发送的字符串是加密JSON对象的Base64编码字符串。这是他们发给我的规范:
我检查了crypt的Rijndael算法,但我没有看到将IV插入的位置...不确定CBC和PKCS7是否默认 - 如果不是,我不知道如何更改这些...
所以:
答案 0 :(得分:3)
我非常怀疑他们真的使用Rijndael。它们可能使用AES(它是Rijndael的子集,具有固定的128位块大小和仅三个标准化密钥大小(128,192和256位))。如果没有它们提供块大小和密钥大小你无论如何都不能确定,你可能会假设AES-128,但它们的规格充其量是不完整的。
IV与密码算法无关,但与链接模式有关,在您的情况下是CBC。
通过OpenSSL在Ruby中提供AES,CBC,PKCS7,应该不会太麻烦。编辑:人们认为他们使用Rijndael让我觉得他们使用.NET,在这种情况下,这个问题应该可以解决你的问题:How to decode Rijndael in ruby (encoded in VB.net)
答案 1 :(得分:0)
现在包含在ruby中,可以轻松解密Rijndael。