@@ 618-641 (lines=24) @@ | ||
615 | * |
|
616 | * @return string |
|
617 | */ |
|
618 | public static function encrypt($data, $key, $expire = 0) |
|
619 | { |
|
620 | $data = base64_encode($data); |
|
621 | $x = 0; |
|
622 | $len = strlen($data); |
|
623 | $l = strlen($key); |
|
624 | $char = ''; |
|
625 | ||
626 | for ($i = 0; $i < $len; $i++) { |
|
627 | if ($x == $l) { |
|
628 | $x = 0; |
|
629 | } |
|
630 | $char .= substr($key, $x, 1); |
|
631 | $x++; |
|
632 | } |
|
633 | ||
634 | $str = sprintf('%010d', $expire ? $expire + time() : 0); |
|
635 | ||
636 | for ($i = 0; $i < $len; $i++) { |
|
637 | $str .= chr(ord(substr($data, $i, 1)) + (ord(substr($char, $i, 1))) % 256); |
|
638 | } |
|
639 | ||
640 | return rawurlencode(str_replace('=', '', base64_encode($str))); |
|
641 | } |
|
642 | ||
643 | /** |
|
644 | * 解析头信息 |
@@ 504-527 (lines=24) @@ | ||
501 | * |
|
502 | * @return string |
|
503 | */ |
|
504 | public static function encrypt($data, $key, $expire = 0) |
|
505 | { |
|
506 | $data = base64_encode($data); |
|
507 | $x = 0; |
|
508 | $len = strlen($data); |
|
509 | $l = strlen($key); |
|
510 | $char = ''; |
|
511 | ||
512 | for ($i = 0; $i < $len; $i++) { |
|
513 | if ($x == $l) { |
|
514 | $x = 0; |
|
515 | } |
|
516 | $char .= substr($key, $x, 1); |
|
517 | $x++; |
|
518 | } |
|
519 | ||
520 | $str = sprintf('%010d', $expire ? $expire + time() : 0); |
|
521 | ||
522 | for ($i = 0; $i < $len; $i++) { |
|
523 | $str .= chr(ord(substr($data, $i, 1)) + (ord(substr($char, $i, 1))) % 256); |
|
524 | } |
|
525 | ||
526 | return rawurlencode(str_replace('=', '', base64_encode($str))); |
|
527 | } |
|
528 | ||
529 | /** |
|
530 | * 解析头信息 |