Maison  >  Article  >  développement back-end  >  PHP base64_decode乱码要怎么弄啊?

PHP base64_decode乱码要怎么弄啊?

WBOY
WBOYoriginal
2016-06-23 13:29:503347parcourir

比如说我现在要decode下面的字符串
$code = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA88pPKPqRTcVGKcVNrphzUtq9hs1eSgyO/+g9DEfOVeeHlhaEhnYPabBJkpCayg3wTUKkBIWF5iPbPKKQp5zzdcWyvUXRcrHPzW77zm7HeraPT+YpXJlHjOdhERrGWKglvZmcVbcBLTr8mOlH3JjWmRf51G+LKPjT3OhVcJqCPwF+gC5CggyYiuiVN2OtvVjt2Tb2cxrjtVLbRCKTBq+4EpabkkEzWmurWLtrFT2N2ANDRDtfTmSpeQdHlzenlbWOFk8r3ty3/UiAP4HY53o1pvj5zDo5vZwHe25aoFHxSEJ3q/8H1OlCjbdeEeyTXA8IBqO5tNYRutS++8HlerZ4rQIDAQAB';
$tests=base64_decode($code);
var_dump( $tests );
输出后是:

有没有大神告诉我这个咋弄啊


回复讨论(解决方案)

显然他还做了某种处理
这要看是什么项目的数据了

显然他还做了某种处理
这要看是什么项目的数据了

没有任何处理啊,我在举个列子:
$mod='d61df77df0b16df298c4e87e0f281ff5262684e486c4b495f23997ec7c81bb8a70c7ed314a667b0f098bb608a967db6be4a820e1b9960accebd2360654ef1825e8198e1d957e9e280c151bb01163066809e732c200cb0e9c61ca6567e25efa208bf3629dec0e29a89d96433107c26c7c29a6e4a12a4dd4b8a2b89a61ef3f3267';
$exp='010001';
$key=base64_encode ( hex2bin ( "30819f300d06092a864886f70d010101050003818d0030818902818100{$mod}0203{$exp}" ) );
$tests=base64_decode($key);
var_dump( $tests );$tests=base64_decode($key);
var_dump( $tests );
输出内容是:

hex2bin 

为什么要用到hex2bin函数
把十六进制值转换为 ASCII 字符?


显然他还做了某种处理
这要看是什么项目的数据了

没有任何处理啊,我在举个列子:
$mod='d61df77df0b16df298c4e87e0f281ff5262684e486c4b495f23997ec7c81bb8a70c7ed314a667b0f098bb608a967db6be4a820e1b9960accebd2360654ef1825e8198e1d957e9e280c151bb01163066809e732c200cb0e9c61ca6567e25efa208bf3629dec0e29a89d96433107c26c7c29a6e4a12a4dd4b8a2b89a61ef3f3267';
$exp='010001';
$key=base64_encode ( hex2bin ( "30819f300d06092a864886f70d010101050003818d0030818902818100{$mod}0203{$exp}" ) );
$tests=base64_decode($key);
var_dump( $tests );$tests=base64_decode($key);
var_dump( $tests );
输出内容是:
确定是hex2bin 而不是bin2hex?

这就不知道你们要讨论什么问题了
正因为数据中有不可打印的字符,所以才使用了 base64 编码进行交换
要想知道数据的真实含义,至少需要看程序是怎么使用它的

感谢大家,问题我已经解决了,通过hex2bin转码后是显示不出来的,我做这个主要是关于JAVA和PHP的RSA的验签问题,由JAVA端使用ras签名后,传给PHP端做验签,由于PHP只能使用openssl生成的pem文件来做验签,而java端只给出了一串1024位的16进制的公钥字符串,弄了好久了,昨天晚上才弄好。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn