gpt4 book ai didi

java - ruby-aes 默认使用填充吗?

转载 作者:行者123 更新时间:2023-12-01 15:52:50 28 4
gpt4 key购买 nike

我在 RoR 项目中使用以下内容:

somepass =Aes.encrypt_buffer(128, 'ECB', some_cypher_key, nil, pain_string)

使用此库和方法 ECB 是否默认使用填充?

我最终想要做的是让 RoR 应用程序和 Java 应用程序能够从同一个简单字符串创建相同的加密字符串。

在 Java 代码中我使用: cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", "SunJCE");

这两行代码不会创建相同的加密 key 。

最佳答案

Aes.encrypt_buffer 将使用填充,只是不是您期望的那种。它将用添加字节的值填充 n 个字节的 block 。也就是说,如果需要添加15个字节,则用0x0f填充,如果需要添加5个字节,则用0x05填充。也就是说RFC-5652中描述的PKCS7 .

您应该切换到 openssl 或使用 Cipher.getInstance("AES/ECB/PKCS7Padding", "BC") 与 java。

关于java - ruby-aes 默认使用填充吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5677550/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com