ruby-aes默认使用填充吗?

| 我在RoR项目中使用以下内容:
somepass =Aes.encrypt_buffer(128, \'ECB\', some_cypher_key, nil, pain_string)
默认情况下,使用此库和方法ECB是否使用填充? 我最终想要做的是让RoR应用程序和Java应用程序能够从相同的简单字符串中创建相同的加密字符串。 在Java代码中,我使用:  
cipher = Cipher.getInstance(\"AES/ECB/PKCS5Padding\", \"SunJCE\");
这两行代码不会创建相同的加密密钥。     
已邀请:
Aes.encrypt_buffer
将使用填充,只是不是您期望的那种。它将用n个字节填充块,并增加字节的值。也就是说,如果需要增加15个字节,则以pad3ѭ填充,如果需要增加5个字节,则以
0x05
填充。也就是说,如RFC-5652中所述的PKCS7。 您应该切换到openssl或在Java中使用
Cipher.getInstance(\"AES/ECB/PKCS7Padding\", \"BC\")
。     

要回复问题请先登录注册