You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.6 KiB

4 years ago
  1. <?php
  2. include __DIR__ . "/../vendor/autoload.php";
  3. use \Firebase\JWT\JWT;
  4. $key = "73937393";
  5. $privateKey = <<<EOD
  6. -----BEGIN RSA PRIVATE KEY-----
  7. MIICXgIBAAKBgQDsldu7vayXD7RE5HEMsvlz/tkq36gBgY1Yz+R9dkZWNDdQTTFm
  8. O2tWFwBvYRx5Nv/CtR1Nl2+pb/Nd6WrWzs9FR7P84nixA+vfzQjqTIlQViO0vB/a
  9. gWa2nk5N4e0dsQ7kDr3+7/w1DeFsMlRBDvSHMsdmlNSFDFB6+MVrC93dRQIDAQAB
  10. AoGBALhxeJZcIDLA7oSLKEuDOJEjDQGszhkmfCDSKstZKyrHmJwFIk8WYe8DDbbH
  11. meAybaDJfGfieQ46lhwP/tgq8VEM7m/bhkhksXHTuKmPGfr53uev9Rp1+TKG1vFW
  12. 2c8MFMrDg3ZNy8lAfZmhIWUP9ietU5o836d0/3vJ+nBeSZwhAkEA+0luT5ijhfh4
  13. Jim81h0yKJFOeg/gjdHtefAWyruAGHZEKz+yLNTPJN0bjPtQAOqSr/Hjt9MmxzPa
  14. HJ0DuvvgbQJBAPEF1mYmqmpBZTDc2zjOTXzVRsNO/bBcx/q9GkQydn/7BV6Dqr9Y
  15. cgJV49CWcbZBHLkCxyidKDvZBzTh0b/vWTkCQH3AsLianXLk9lO63WqVb82Hcit5
  16. mJnAbcRxFybbkG4teU3fcW4oDYXYNPpnphDfUwtD1P7gZ26XD1b0aLKBbD0CQQC3
  17. sCY9Rfyc7GgNfFTLD1e46uZ6VUo8zglPDC3niboMQahO5vQLzoFdTE5Km03gg/E7
  18. A2X7iwKt0fKPGAd+SxDpAkEA6OG77IL8cjrlZKk4ilTCz8rkF4CtZWbDLi1IF40i
  19. jaGlSLvVowHDywtjT8tYfpIH7HI55KS3gj88qAaF38qfRA==
  20. -----END RSA PRIVATE KEY-----
  21. EOD;
  22. $publicKey = <<<EOD
  23. -----BEGIN PUBLIC KEY-----
  24. MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDsldu7vayXD7RE5HEMsvlz/tkq
  25. 36gBgY1Yz+R9dkZWNDdQTTFmO2tWFwBvYRx5Nv/CtR1Nl2+pb/Nd6WrWzs9FR7P8
  26. 4nixA+vfzQjqTIlQViO0vB/agWa2nk5N4e0dsQ7kDr3+7/w1DeFsMlRBDvSHMsdm
  27. lNSFDFB6+MVrC93dRQIDAQAB
  28. -----END PUBLIC KEY-----
  29. EOD;
  30. $payload = [
  31. "iss" => "deeplove.cn",
  32. "name" => "nemo",
  33. "age" => 29,
  34. ];
  35. $jwt = JWT::encode($payload, $privateKey, 'RS256');
  36. echo strlen($jwt) . "\n";
  37. echo "Encode:\n" . print_r($jwt, true) . "\n";
  38. $decoded = JWT::decode($jwt, $publicKey, array('RS256'));
  39. $decoded_array = (array) $decoded;
  40. echo "Decode:\n" . print_r($decoded_array, true) . "\n";