比如說我現在要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進位的公開金鑰字串,弄了好久了,昨天晚上才弄好。