DesService.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Bear
  5. * Date: 2019/1/15
  6. * Time: 上午10:02
  7. */
  8. namespace app\common\service;
  9. use think\Config;
  10. class DesService extends BaseService
  11. {
  12. private static $self;
  13. /**
  14. * @var string 加密key
  15. */
  16. private $des_key;
  17. /**
  18. * @var string 加密向量
  19. */
  20. private $des_iv;
  21. const METHOD = 'AES-128-CBC';
  22. public static function instance()
  23. {
  24. if (self::$self == NULL) {
  25. self::$self = new self();
  26. self::$self->des_key = Config::get('app_encode_key');
  27. self::$self->des_iv = Config::get('app_encode_iv');
  28. }
  29. return self::$self;
  30. }
  31. /**
  32. * @param $data
  33. * @return string
  34. */
  35. public function encode($data)
  36. {
  37. return openssl_encrypt($data, self::METHOD, $this->des_key, 0, $this->des_iv);
  38. }
  39. /**
  40. * @param $data
  41. * @return string
  42. */
  43. public function decode($data)
  44. {
  45. return openssl_decrypt($data, self::METHOD, $this->des_key, 0, $this->des_iv);
  46. }
  47. }