需要用openssl_pkey_get_public()函数把公钥文件转换成openssl资源,但是转换失败 下边是我要执行的方法 这个文件里边的内容就是上边获取到的公钥 ROOT_PATH.'/'.$this->wechat->mchId.'_publicrsa.pem' /** * 公钥加密,银行卡号和姓名需要RSA算法加密 * @param string $data 需要加密的字符串,银行卡/姓名 * @return null|string 加密后的字符串 */ private function publicEncrypt($data) { // 进行加密 $pubkey = openssl_pkey_get_public(file_get_contents(ROOT_PATH.'/'.$this->wechat->mchId.'_publicrsa.pem')); // $pubkey是false 下面的加密流程更没法执行 $encrypt_data = ''; $encrypted = ''; $res = openssl_public_encrypt($data,$encrypt_data,$pubkey,OPENSSL_PKCS1_OAEP_PADDING); if($res){//加密成功,返回base64编码的字符串 return base64_encode($encrypted.$encrypt_data); }else{ return false; } }
企业付款到银行卡问题获取RSA加密公钥成功,但是用函数openssl_pkey_get_public()处理总是返回false不知道是怎么回事?用的是PHP开发, 这是获取到的公钥,是不是获取的公钥有问题,大神们帮忙看一下吧。 -----BEGIN RSA PUBLIC KEY----- MIIBCgKCAQEArF2OB8jWqEKFzeF93CL6e4wgn+qoyUkVJkyvcBqfYS5TqlJ5KbSL V/+rigkTzvHQV1Jx+gp9EY3utsKVwBPqeI6CZHyrEXb/Bz/nmkpZN6zwEudFVomI eauQRDJnlxhmOl9VpK5eQBXNK3DjqqF/55gVlnmUO2jaQY2ozWroUQYBb3Nh9JIm hORjwGwUgtcCFUWRMPzeUajDOxfGbgntJOT9gbY6ToBrUr9KWaHih6QCSCqmwaVk dCLbwgoosiIGcgNtxPs5WjQ3MJYr+zF+DxPmu0Tv9/vLQpJruuct2GXEYh6Zwu+a SSS+sFDNyRIO6rRjiipAEyh2kPabmjlg9QIDAQAB -----END RSA PUBLIC KEY-----
2019-07-26-----BEGIN RSA PUBLIC KEY----- MIIBCgKCAQEArF2OB8jWqEKFzeF93CL6e4wgn+qoyUkVJkyvcBqfYS5TqlJ5KbSL V/+rigkTzvHQV1Jx+gp9EY3utsKVwBPqeI6CZHyrEXb/Bz/nmkpZN6zwEudFVomI eauQRDJnlxhmOl9VpK5eQBXNK3DjqqF/55gVlnmUO2jaQY2ozWroUQYBb3Nh9JIm hORjwGwUgtcCFUWRMPzeUajDOxfGbgntJOT9gbY6ToBrUr9KWaHih6QCSCqmwaVk dCLbwgoosiIGcgNtxPs5WjQ3MJYr+zF+DxPmu0Tv9/vLQpJruuct2GXEYh6Zwu+a SSS+sFDNyRIO6rRjiipAEyh2kPabmjlg9QIDAQAB -----END RSA PUBLIC KEY----- 这是获取的RSA公钥,用openssl_pkey_get_public()处理总是返回false,是因为这个公钥有问题吗
企业付款到银行卡问题获取RSA加密公钥成功,但是用函数openssl_pkey_get_public()处理总是返回false不知道是怎么回事?PHP开发
2019-07-23