我尝试在 java 6 中使用 OPENSSL_RAW_DATA 执行 PHP openssl_encrypt aes-256-cbc 但没有成功。我找到了一些关于此的主题,但我只成功地在没有 raw_data 的 aes-128-cbc 中做到了这一点。我发现的关于此的最佳主题是:AES-256 CBC 在 php 中加密并在 Java 中解密,反之亦然, 但是 raw_data 不起作用,并且 256 位密钥是随机生成的。事实上 PHP 版本是:
<?php>
openssl(
"hello",
"aes-256-cbc",
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
OPENSSL_RAW_DATA,
"aaaaaaaaaaaaaaaa"
)
?>
Run Code Online (Sandbox Code Playgroud)
我实际上有这个:
public static void main(String[] args) {
try {
// 128 bits key
openssl_encrypt("hello", "bbbbbbbbbbbbbbbb", "aaaaaaaaaaaaaaaa");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static String openssl_encrypt(String data, String strKey, String strIv) throws Exception {
Base64 base64 …Run Code Online (Sandbox Code Playgroud)