123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- // by 请勿倒卖,已申请软著,否则追究法律责任
- namespace app\webview;
- class Jwt
- {
- function decode($str)
- {
- $_var_0 = $this->safeUrlBase64Decode($str);
- $_var_1 = $this->rc4($_var_0, "H3kTiX" . "keyW3ABy46");
- $_var_2 = $this->jwtDecode($_var_1);
- return $_var_2;
- }
- function encode($json)
- {
- $_var_3 = $this->safeUrlBase64Decode($this->safeUrlBase64Decode("U2xkVQ"));
- $_var_4 = $this->safeUrlBase64Decode($this->safeUrlBase64Decode("VFVRMQ"));
- $_var_5 = $this->safeUrlBase64Decode("czIwMT" . "kwNTIw");
- $_var_6 = $this->safeUrlBase64Decode("MWtOTD" . "V4UEdMRTlOU3paSA");
- $_var_7 = $this->safeUrlBase64Encode(json_encode(["typ" => $_var_3, "alg" => $_var_4, "kid" => $_var_5]));
- $_var_8 = $this->safeUrlBase64Encode(json_encode($json));
- $_var_9 = $this->sign($_var_7 . "." . $_var_8, $_var_6);
- return $this->rc4Encode($_var_7 . "." . $_var_8 . "." . $_var_9);
- }
- function safeUrlBase64Decode($str)
- {
- $str = str_replace(["-", "_"], ["+", "/"], $str);
- $_var_10 = strlen($str) % 4;
- if ($_var_10 > 0) {
- $str .= "[=,=]";
- }
- return base64_decode($str);
- }
- function safeUrlBase64Encode($str)
- {
- $str = base64_encode($str);
- return str_replace(["+", "/", "="], ["-", "_", ""], $str);
- }
- function jwtDecode($str)
- {
- $_var_11 = explode(".", $str);
- return $this->safeUrlBase64Decode($_var_11[1]);
- }
- function rc4($_var_12, $_var_13)
- {
- $_var_14 = "";
- $_var_15[] = "";
- $_var_16[] = "";
- $_var_17 = strlen($_var_13);
- $_var_18 = strlen($_var_12);
- for ($_var_19 = 0; $_var_19 < 256; $_var_19++) {
- $_var_15[$_var_19] = ord($_var_13[$_var_19 % $_var_17]);
- $_var_16[$_var_19] = $_var_19;
- }
- for ($_var_20 = $_var_19 = 0; $_var_19 < 256; $_var_19++) {
- $_var_20 = ($_var_20 + $_var_16[$_var_19] + $_var_15[$_var_19]) % 256;
- $_var_21 = $_var_16[$_var_19];
- $_var_16[$_var_19] = $_var_16[$_var_20];
- $_var_16[$_var_20] = $_var_21;
- }
- for ($_var_22 = $_var_20 = $_var_19 = 0; $_var_19 < $_var_18; $_var_19++) {
- $_var_22 = ($_var_22 + 1) % 256;
- $_var_20 = ($_var_20 + $_var_16[$_var_22]) % 256;
- $_var_21 = $_var_16[$_var_22];
- $_var_16[$_var_22] = $_var_16[$_var_20];
- $_var_16[$_var_20] = $_var_21;
- $_var_23 = $_var_16[($_var_16[$_var_22] + $_var_16[$_var_20]) % 256];
- $_var_14 .= chr(ord($_var_12[$_var_19]) ^ $_var_23);
- }
- return $_var_14;
- }
- function rc4Encode($str)
- {
- $_var_24 = $this->rc4($str, "H3kTiX" . "keyW3ABy46");
- return $this->safeUrlBase64Encode($_var_24);
- }
- function sign($str1, $str2)
- {
- $_var_25 = hash_hmac("md5", $str1, $str2, true);
- return $this->safeUrlBase64Encode($_var_25);
- }
- function signParam($_var_26, $_var_27)
- {
- $_var_28 = hash_init("md5", HASH_HMAC, $_var_27);
- foreach ($_var_26 as $_var_29 => $_var_30) {
- hash_update($_var_28, $_var_29);
- hash_update($_var_28, $_var_30);
- }
- return hash_final($_var_28);
- }
- function getBytes($string)
- {
- $_var_31 = array();
- for ($_var_32 = 0; $_var_32 < strlen($string); $_var_32++) {
- $_var_31[] = ord($string[$_var_32]);
- }
- return $_var_31;
- }
- }
|