Heim > Backend-Entwicklung > PHP-Tutorial > PHP base64_decode乱码要怎么弄啊?

PHP base64_decode乱码要怎么弄啊?

WBOY
Freigeben: 2016-06-23 13:29:50
Original
3391 Leute haben es durchsucht

比如说我现在要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进制的公钥字符串,弄了好久了,昨天晚上才弄好。

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage