PHP解密支付宝小程序的加密数据、手机号的示例代码
1.小程序端代码示例
my.getPhoneNumber({
success:(res)=>{
letencryptedData=res.response;
my.httpRequest({
url:'你的后端服务端',
data:encryptedData,
});
},
fail:(res)=>{
console.log(res);
console.log('getPhoneNumber_fail');
},
});
2.PHP后端解密示例
publicstaticfunctiondecryptData($encryptedData,$key='开发设置-接口内容加密方式-查看-字符串')
{
$encrys=json_decode($encryptedData,true);
$encryptedData=$encrys['response'];
$str=base64_decode($encryptedData);
$screct_key=base64_decode($key);
//设置全0的IV
$iv_size=mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_CBC);
$iv=str_repeat("\0",$iv_size);
$decrypt_str=mcrypt_decrypt(MCRYPT_RIJNDAEL_128,$screct_key,$str,MCRYPT_MODE_CBC,$iv);
$decrypt_str=self::stripPKSC7Padding($decrypt_str);
return$decrypt_str;
}
publicstaticfunctionstripPKSC7Padding($source)
{
$char=substr($source,-1);
$num=ord($char);
if($num==62)return$source;
$source=substr($source,0,-$num);
return$source;
}
3.解密返回
{"code":"10000","msg":"Success","mobile":"185xxxxx111"}
知识点扩展:
php函数摘要-加密和解密类
1支付宝小程序手机号解密
加密数据
{
"response":"EaieI1W9gPK0zClNbA7P0T6svaSYq/1xejihTXNVSH0WyCjBIcP2xOwaAevaYgb4aeQ5NNRQaqbZgVvfJKfaLQ==",
"sign":"iSHQH/r3rZiBx7N49SwQNHx2Y0B6OP2ePvhS+T2XKw9+dzt3T1W9T0cHSldFlkczcdPQ05Pi/bEygsZxip6StCNEqse7ou/nXx9QOAVNoBgZfb4bmFJxOl8DYeuF8VKQy+NdxuvRGJFpmVynZtSNy31BfD4663IowMj80/pfnmLJCEKqoS2oHWtGRRM7oIFEdCH5IJKCsq79qxFEPwmQVid2uN0XuL/Rg+lKN9eAbTGcBttVZGaI11vGDEBUq9sNksVJXWUHofszCeD9jGz8pGoNvApRt8Swe2RnVtWcnQ+Zh+G105fPpp3RYNZBSBV9EJJ5la5IEv8KfAwjW7jGFg=="
}
解密函数
/**
*解密
*
*returnmix
*/
functiondecryptData(string$encrypted_data)
{
$key=env('EAS');
$aesKey=base64_decode($key);
$iv=0;
$aesIV=base64_decode($iv);
$aesCipher=base64_decode($encrypted_data);
$result=openssl_decrypt($aesCipher,"AES-128-CBC",$aesKey,1,$aesIV);
return$result;
}
解密过程
echodecryptData('EaieI1W9gPK0zClNbA7P0T6svaSYq/1xejihTXNVSH0WyCjBIcP2xOwaAevaYgb4aeQ5NNRQaqbZgVvfJKfaLQ==');
//{"code":"10000","msg":"Success","mobile":"1342XXXXXXX"}
到此这篇关于PHP解密支付宝小程序的加密数据,手机号的文章就介绍到这了,更多相关PHP解密支付宝小程序加密数据内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。