API文档地址:
https://api.ems.com.cn/#/jqfs
php版本:7.3
$keyString = 'TvaBgrhE46sft3nZlfe7xw==';
$key = base64_decode($keyString);
$plaintext = '{"language":"zh-CN","orderId":"php demo"}'.$keyString;
//加密数据
$ciphertext = openssl_encrypt($plaintext, 'sm4-ecb', $key, OPENSSL_RAW_DATA);
//加密后的数据要在前面加上|$4|,解密的时候也要先去掉这个前缀
$text = '|$4|'.base64_encode($ciphertext);
var_dump(sprintf("加密数据: %s", $text));
//解密数据
$original_plaintext = openssl_decrypt(base64_decode(preg_replace('/^\|\$4\|/', '', $text)), 'sm4-ecb', $key, OPENSSL_RAW_DATA);
//去掉json结尾拼接的 $keyString
$original_plaintext = preg_replace('/' . preg_quote($keyString) . '$/', '', $original_plaintext);
var_dump(sprintf("解密数据: %s", $original_plaintext));