Refer to the PHP encryption and decryption processing class written by discuz's passport
Release: 2016-07-25 09:03:40
Original
956 people have browsed it
-
- /*----------------------------------------- -
- = Copyright Agreement:
- = GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991)
- =--------------------------- ----------------------------------
- = File name: cls.sys_crypt.php
- = Summary: php encryption and decryption Processing class
- = Version: 1.0
- = Reference: Discuz forum’s passport related functions
- =---------------------------------- --------------------------------
- = Script Written By PHPWMS project team
- = Last updated: xinge
- = Last date: 2007- 12-09
- ---------------------------------------------=*/
-
- class SysCrypt {
- private $crypt_key;
-
- //Constructor
- public function __construct($crypt_key) {
- $this -> crypt_key = $crypt_key;
- }
-
- public function php_encrypt($txt) {
- srand((double) microtime() * 1000000);
- $encrypt_key = md5(rand(0,32000));
- $ctr = 0;
- $tmp = '';
- for($i = 0;$i $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
- $tmp .= $encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++] );
- }
- return base64_encode(self::__key($tmp,$this -> crypt_key));
- }
-
- public function php_decrypt($txt) {
- $txt = self::__key(base64_decode($txt ),$this -> crypt_key);
- $tmp = '';
- for($i = 0;$i < strlen($txt); $i++) {
- $md5 = $txt[$i];
- $tmp .= $txt[++$i] ^ $md5;
- }
- return $tmp;
- }
-
- private function __key($txt,$encrypt_key) {
- $encrypt_key = md5($encrypt_key);
- $ctr = 0;
- $tmp = '';
- for($i = 0; $i < strlen($txt); $i++) {
- $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
- $tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
- }
- return $tmp;
- }
-
- public function __destruct() {
- $this -> crypt_key = null;
- }
- }
-
- #--Call example
- $sc = new SysCrypt('phpwms');
- $text = '110';
- print($sc -> php_encrypt($text));
- print('< ;br>');
- print($sc -> php_decrypt($sc -> php_encrypt($text)));
- ?>
Copy code
|
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31