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(" ", $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"}