微信 小程序 登录一直 -41003,在php7上解决办法

原因是官方的php7.1版本是不支持mcrypt扩展(将来也不会支持,在7.1以上的版本直接废掉).所以就会抛出错误了.

所以,只能用openssl解密代码,逻辑不变,只是解密用的php方法变了

https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html
1.对称解密使用的算法为 AES-128-CBC,数据采用PKCS#7填充。
2.对称解密的目标密文为 Base64_Decode(encryptedData),
3.对称解密秘钥 aeskey = Base64_Decode(session_key), aeskey 是16字节
4.对称解密算法初始向量 iv 会在数据接口中返回。


最后的结果代码就是用openssl替换mcrypt的解密逻辑
代码如下

// $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
//
// mcrypt_generic_init($module, $this->key, $aesIV);
//
// //解密
// $decrypted = mdecrypt_generic($module, $aesCipher);
// mcrypt_generic_deinit($module);
// mcrypt_module_close($module);
$decrypted = openssl_decrypt($aesCipher, 'aes-128-cbc', $this->key, true, $aesIV);


Add a Comment

电子邮件地址不会被公开。 必填项已用*标注