中国邮政EMS物流API鉴权PHP实现

技术 置顶 精帖
0 538
peng49
peng49 2023-04-29 14:48:17
 

API文档地址:
https://api.ems.com.cn/#/jqfs

php版本:7.3

  1. $keyString = 'TvaBgrhE46sft3nZlfe7xw==';
  2. $key = base64_decode($keyString);
  3. $plaintext = '{"language":"zh-CN","orderId":"php demo"}'.$keyString;
  4. //加密数据
  5. $ciphertext = openssl_encrypt($plaintext, 'sm4-ecb', $key, OPENSSL_RAW_DATA);
  6. //加密后的数据要在前面加上|$4|,解密的时候也要先去掉这个前缀
  7. $text = '|$4|'.base64_encode($ciphertext);
  8. var_dump(sprintf("加密数据: %s", $text));
  9. //解密数据
  10. $original_plaintext = openssl_decrypt(base64_decode(preg_replace('/^\|\$4\|/', '', $text)), 'sm4-ecb', $key, OPENSSL_RAW_DATA);
  11. //去掉json结尾拼接的 $keyString
  12. $original_plaintext = preg_replace('/' . preg_quote($keyString) . '$/', '', $original_plaintext);
  13. var_dump(sprintf("解密数据: %s", $original_plaintext));
回帖
登录
忘记密码?