Java:AES/ECB/PKCS5Padding,转Rust,未寻找到解决方案,求助
内容提要
文章讨论了将Java程序改造成Rust时遇到的AES加解密问题。作者尝试了多种加密模式和填充方式,但无法与Java的加密结果一致。最终通过对比Java的加密结果,确定了使用AES128 + ECB + PKCS5Padding算法。作者还提供了Rust代码示例,并寻求帮助实现该算法。
关键要点
-
文章讨论了将Java程序改造成Rust时遇到的AES加解密问题。
-
Java中使用AES/ECB/PKCS5Padding模式进行加解密。
-
作者尝试了多种Rust库,但无法与Java的加密结果一致。
-
最终确定使用AES128 + ECB + PKCS5Padding算法。
-
作者提供了Rust代码示例,并寻求帮助实现该算法。
-
在Rust中,AES加解密的填充模式包括NoPadding、ZeroPadding、Pkcs7等。
-
Java的byte是有符号数字,而Rust是无符号数字u8,可能影响加解密结果。
-
作者的Rust代码实现了AES128的ECB模式加解密功能。
-
寻求社区帮助以实现AES128 + ECB + PKCS5Padding的正确加解密。
延伸问答
在将Java程序转为Rust时遇到了什么AES加解密问题?
作者在转化过程中无法使Rust的加密结果与Java一致,经过多次尝试后确定使用AES128 + ECB + PKCS5Padding算法。
为什么Rust中的AES加解密结果与Java不一致?
可能是由于Java的byte是有符号数字,而Rust是无符号数字u8,导致加解密结果不一致。
作者在Rust中使用了哪些库进行AES加解密?
作者尝试了多个Rust库,包括ring、aes+ecb和magic-crypt,但都无法与Java的结果一致。
如何在Rust中实现AES128 + ECB + PKCS5Padding?
作者提供了Rust代码示例,使用aes和ecb库进行加解密,并实现了AES128的ECB模式。
Rust中有哪些填充模式可用于AES加解密?
Rust中可用的填充模式包括NoPadding、ZeroPadding、Pkcs7、AnsiX923、Iso10126和Iso7816。
作者在寻求什么样的帮助?
作者希望社区能帮助实现AES128 + ECB + PKCS5Padding的正确加解密。