不同的加密文本是由相同的AES算法生成的?

时间:2012-07-04 07:03:35

标签: c encryption aes

我在aes encryption program的c中实施AES算法 而且我们在java中编写AES程序,在生成加密数据时出现的问题都不同。 输入文字:358960040119672 关键:mlabs

输出:  1.通过java(android):“vcpBspcYHtjlMgbQJI3aWg ==”  2.通过c:“`Äç©õ#«0Z”÷>ý“

为什么这个特殊的字符。显示在c。怎么处理这个?

2 个答案:

答案 0 :(得分:1)

Java输出在加密后使用Base64算法进行编码,而C则没有。

答案 1 :(得分:0)

问题可能是填充和转换。将数据转换为字节(例如十六进制),因为128位加密的结果是任何值的18个八位字节(甚至是不可打印的ASCII字符)。确保双方使用相同的填充。

AES 128位定义为CHIPERTEXT [16个八位字节] = AES(KEY [16个八位字节],PLAIN [16个八位字节]))并且没有使用字符串的约定。