Maison >développement back-end >tutoriel php >PHP implémente la méthode d'instance de jeton
Cet article partage principalement avec vous l'exemple de méthode d'implémentation de Token en PHP, en espérant aider tout le monde.
public function set_token($user_name){ $information ['state'] = false; $time = time(); $header = array( 'typ' => 'JWT' ); $array = array( 'iss' => 'auth', // 权限验证作者 'iat' => $time, // 时间戳 'exp' => 3600, // token有效期,1小时 'sub' => 'demo', // 案例 'user_name' => $user_name ) // 用户名 ; $str = base64_encode(json_encode($header)) . '.' . base64_encode(json_encode($array)); // 数组转成字符 $str = urlencode($str); // 通过url转码 $information ['token'] = $str; $this->save_token($user_name, $information ['token']); // 将用户token存放进用户数据库 $information ['username'] = $user_name; // 返回用户名 $information ['state'] = true; return $information; }
Notes :
1. La fonction save_token(), enregistre le jeton actuel de l'utilisateur dans la table utilisateur pour vérification
2. base64_encode et base64_decode fonctions de cryptage et de décryptage
(1) Cryptage :
$str='www.php.cn'; //定义字符串 echo base64_encode($str); // 输出编码后的内容为: d3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg==
(2) Décryptage :
$str='d3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg=='; //定义字符串 echo base64_decode($str); //输出解码后的内容
3. Tableaux et objets, convertir le format json et inverser
(1) json_encode() Utilisé pour convertir les tableaux. et les objets au format json :
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); 结果为: {"a":1,"b":2,"c":3,"d":4,"e":5}
(2) json_decode() est utilisé pour convertir le texte json dans la structure de données PHP correspondante :
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); 结果就是生成一个PHP对象: object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
4, traitement chinois
echo urlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.+ //将中文文字转换成urlencode文字编码 echo urldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_. //将urlencode文字编码转换成中文文字
public function set_token($user_name){ $information ['state'] = false; $time = time(); $header = array( 'typ' => 'JWT' ); $array = array( 'iss' => 'auth', // 权限验证作者 'iat' => $time, // 时间戳 'exp' => 3600, // token有效期,1小时 'sub' => 'demo', // 案例 'user_name' => $user_name ) // 用户名 ; $str = base64_encode(json_encode($header)) . '.' . base64_encode(json_encode($array)); // 数组转成字符 $str = urlencode($str); // 通过url转码 $information ['token'] = $str; $this->save_token($user_name, $information ['token']); // 将用户token存放进用户数据库 $information ['username'] = $user_name; // 返回用户名 $information ['state'] = true; return $information; }
Remarques :
1. La fonction save_token(), enregistre le jeton actuel de l'utilisateur dans la table utilisateur pour vérification
2.
(1) Cryptage :
$str='www.jb51.net 脚本之家'; //定义字符串 echo base64_encode($str); // 输出编码后的内容为: d3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg==
(2) Décryptage :
$str='d3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg=='; //定义字符串 echo base64_decode($str); //输出解码后的内容
3. Tableaux et objets, convertir au format json, Et inverser
(1) json_encode() est utilisé pour convertir des tableaux et des objets au format json :
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); 结果为: {"a":1,"b":2,"c":3,"d":4,"e":5}
(2) json_decode() est utilisé pour convertir le texte json en données PHP correspondantes Structure :
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); 结果就是生成一个PHP对象: object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
4. Traitement chinois
echo urlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.+ //将中文文字转换成urlencode文字编码 echo urldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_. //将urlencode文字编码转换成中文文字
Recommandations associées :
Solution d'échec de vérification du jeton de développement WeChat
Comment le mode singleton résout le jeton d'accès problème de cache global
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!