Encryption.php 867 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace app\common\util;
  3. class Encryption
  4. {
  5. /**
  6. * 生成token
  7. * @param int $id
  8. * @return string
  9. */
  10. public function createToken(int $id): string
  11. {
  12. $expireDays = 7;//过期时间,单位天
  13. //token: md5([用户名][当前时间])|[用户id]|[过期时间]
  14. $time = (time() + 86400 * $expireDays);
  15. $signKey = env('TOKEN_KEY');
  16. $sign = md5($signKey . $id . $time);
  17. // var_dump($signKey);
  18. return base64_encode($sign . "|" . $id . "|" . $time);
  19. }
  20. /**
  21. * 获取token
  22. * @return array|mixed|string|null
  23. */
  24. public function getToken(): mixed
  25. {
  26. $token = null;
  27. if (!$token) {
  28. $token = request()->header("token");
  29. }
  30. if (!$token) {
  31. $token = input("token");
  32. }
  33. return $token;
  34. }
  35. }