环境说明

步骤说明

Java 加密

引入 hutool

// 构建
byte[] key = "ie4zTPBagxAG235tcoHKswVbmOYZDflI".getBytes();
AES aes = SecureUtil.aes(key);

// 加密
String content = "加密内容";
String encode = aes.encryptBase64(content);
System.out.println(encode);

// 解密
byte[] decrypt = aes.decrypt(encode);
System.out.println(new String(decrypt));

PHP 解密

public function encrypt($data, $key)
{
$data = openssl_encrypt($data, 'AES-256-ECB', $key, OPENSSL_RAW_DATA);
return base64_encode($data);
}

public function decrypt($data, $key)
{
$encrypted = base64_decode($data);
return openssl_decrypt($encrypted, 'AES-256-ECB', $key, OPENSSL_RAW_DATA);
}

#### base64 加密后密文经过get请求,解密失败

因为加密后密文如果有加号,会变成了空格

解决

引入 hutool 包

`String encode = URLUtil.encodeQuery(aes.encryptBase64(content));`

or

`String encode = URLEncoder.encode(aes.encryptBase64(content));`

参考文献