找到可能的答案:
“默认情况下,Java密码(至少在Sun的实现中)以所谓的电子密码本(ECB)模式构造。”
(来源:http
:
//www.javamex.com/tutorials/cryptography/block_modes.shtml)
因此,如果默认情况下使用ECB,我想这意味着没有初始化向量,并且我可以使用OpenSSL中的以下方法:
void AES_ecb_encrypt(*in, *out, *key, enc);
使用
AES_decrypt()I可以解密源自Java端的1000多个字节消息。因此,看起来Java确实确实默认为没有初始化向量的ECB模式。但是,我仍然无法加密并向Java应用发送新消息。调查仍在继续。
一切正常。感谢您的无数提示。我可以
ECB默认确认使用Java 。所有填充字节均设置为添加的字节数(称为PKCS5-padding)。
"HelloWorld"->通过Java加密->使用OpenSSL解密将类似于
"Hello World55555"。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)