我完全不懂加密,所以这个问题可能很简单——不过,我不得不在谷歌上搜索2个小时才能理解基本术语,所以请容忍我。
我需要发送的字符串是一个加密JSON对象的Base64编码字符串这是他们寄给我的说明书:
加密方法:rijndael
密码模式:CBC
填充模式:PKCS7
我们将为您提供定制的base64编码密钥和IV。
我查过crypt的Rijndael算法,但我不知道在哪里插入IV不确定CBC和PKCS7是否是默认的-如果不是,我也不知道如何更改它们。。。
所以:
可以很容易地修改密码来支持这些东西吗?
也许它已经支持它了,只是我完全缺乏密码知识,不允许正确使用?
如果上面两个都没有,用Ruby能做到吗?

最佳答案

我很怀疑他们真的用了瑞恩戴尔它们可能使用AES(它是Rijndael的子集,具有固定的128位块大小,只有三个标准化的密钥大小(128192和256位))如果他们不提供blocksize和keysize,您无论如何都不能确定,您可能会假设AES-128,但他们的规范充其量是不完整的。
iv与密码算法无关,但与链接模式有关,在您的案例中是cbc。
AES、CBC、PKCS7都可以通过OpenSSL在Ruby中使用,应该不会太麻烦。
编辑:人们认为他们使用Rijndael会让我认为他们使用.NET,在这种情况下,这个问题应该可以解决您的问题:How to decode Rijndael in ruby (encoded in VB.net)

09-25 17:54