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