php加密手机版_PHP解密支付宝小程序的加密数据、手机号的示例代码

本文详细介绍了如何在PHP后端解密来自支付宝小程序的加密手机号数据,包括使用AES-128-CBC加密算法和相应的解密函数示例。通过实例演示了加密后的数据经过解密后得到明文结果的过程。

1.小程序端代码示例

my.getPhoneNumber({

success: (res) => {

let encryptedData = res.response;

my.httpRequest({

url: '你的后端服务端',

data: encryptedData,

});

},

fail: (res) => {

console.log(res);

console.log('getPhoneNumber_fail');

},

});

2.PHP后端解密示例

public static function decryptData($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;

}

public static function stripPKSC7Padding($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=="

}

解密函数

/**

* 解密

*

* return mix

*/

function decryptData(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;

}

解密过程

echo decryptData('EaieI1W9gPK0zClNbA7P0T6svaSYq/1xejihTXNVSH0WyCjBIcP2xOwaAevaYgb4aeQ5NNRQaqbZgVvfJKfaLQ==');

// {"code":"10000","msg":"Success","mobile":"1342XXXXXXX"}

到此这篇关于PHP解密支付宝小程序的加密数据,手机号的文章就介绍到这了,更多相关PHP解密支付宝小程序加密数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值