Base64 peut transcoder le binaire en caractères visibles pour la transmission http, mais lorsque le transcodage base64 génère des "+", "/", "=", qui sont transcodés par les caractères spéciaux de l'URL, provoquant une incohérence dans les deux aspects des données.
Nous pouvons remplacer "+", "/" et "=" par des caractères qui ne seront pas transcodés dans l'URL avant l'envoi. Après avoir reçu les données, nous pouvons remplacer ces caractères puis décoder.
1. Codage de chaîne sécurisé par URL :
function urlsafe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data; }
2. Décodage de chaîne sécurisé par URL :
function urlsafe_b64decode($string) { $data = str_replace(array('-','_'),array('+','/'),$string); $mod4 = strlen($data) % 4; if ($mod4) { $data .= substr('====', $mod4); } return base64_decode($data); }
Tutoriel recommandé : " Tutoriel php"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!