在编写微信小程序中,我们获取用户信息是,
并不是所以的信息都是以明文显示出来,
例如手机号这些信息,需要我们进行解码,
才能正常显示出来,下面记录一个自己日常使用的解码函数:
/**
* [wxBizDataCrypt 检验数据的真实性,并且获取解密后的明文.]
* @param [type] $appid [小程序APPID]
* @param [type] $sessionKey [SESSSION KEY]
* @param [type] $encryptedData [加密的用户数据]
* @param [type] $iv [与用户数据一同返回的初始向量]
* @return [type] [description]
*/
function wxBizDataCrypt($appid, $sessionKey, $encryptedData, $iv )
{
if (strlen($sessionKey) != 24) // -41001
return false;
$aesKey=base64_decode($sessionKey);
if (strlen($iv) != 24) // -41002
return false;
$aesIV=base64_decode($iv);
$aesCipher=base64_decode($encryptedData);
$result=openssl_decrypt( $aesCipher, "AES-128-CBC", $aesKey, 1, $aesIV);
$dataObj=json_decode( $result );
// var_dump($appid);
// var_dump($dataObj->watermark->appid);
// var_dump(json_encode($dataObj));die;
if( $dataObj == NULL ) // -41003
return false;
if( $dataObj->watermark->appid != $appid ) // -41003
return false;
return $result;
}
本文为冯奎原创文章,转载无需和我联系,但请注明来自冯奎博客fengkui.net
最新评论