php加密亂碼的解決方案:首先對密文進行MD5加密;然後透過base64加密來避免亂碼,程式碼語句為「$bs_test = base64_encode($test); 」。
#推薦:《PHP影片教學》
本教學操作環境:windows7系統、PHP5.6版,此方法適用於所有品牌電腦。
在最近的專案當中,是把原來的功能封裝一層弄成接口給第三方調用,其中就接觸到了弄簽名加密這一塊,用的是RES加密,思路是用公鑰和POST參數拼接成字串再進行公鑰加密,但因RES加密對密文是有要求的,有長度限制的。 POST資料過長會導緻密文資料過長,從而解密失敗,因此我們解決這個問題的思路是對密文進行MD5加密,然後把加密後的資料進行RES加密,但是RES加密過的資料也有可能因為編碼問題導致亂碼,因此我們還需要進行base64加密來避免亂碼。
簡單的程式碼展示如下:
/* *$rsa_pub为RES公钥 * */$secret = md5($querystr . $api_secret); //组成密文 openssl_public_encrypt($secret ,$test, $rsa_pub); //公钥加密 $bs_test = base64_encode($test); //进行base64加密#
以上是如何解決php加密 亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!