PHP encryption and decryption is often the case, recently in the related things, found Discuz forum PHP encryption and decryption processing class code, feel very good, in use, to refer to the Discuz forum passport-related functions, I will attach the use of the method, the first class code post:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
<?php
/*========================================================
= 文件名称:cls.sys_crypt.php
= 摘 要:php加密解密处理类
= 版 本:1.0
= 参 考:Discuz论坛的passport相关函数
=========================================================*/
class SysCrypt {
private
$crypt_key
;
// 构造函数
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
<
strlen
(
$txt
);
$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;
}
}
?>
|
We recommend that you save this type of file name: cls.sys_crypt.php
Instructions for how to use:
123456789 |
<?php
//使用前请先引入类文件,如:
include
‘cls.sys_crypt.php‘
;
$sc
=
new
SysCrypt(
‘phpwms‘
);
$text
=
‘110‘
;
print
(
$sc
-> php_encrypt(
$text
));
print
(
‘<br>‘
);
print
(
$sc
-> php_decrypt(
$sc
-> php_encrypt(
$text
)));
?>
|
This article title: Discuz Forum Write the PHP encryption and decryption processing class (code + use method)
From Amoy code reprint please specify
- PHP Control browser closes within a specified time
- Uppercase and lowercase letters in PHP capitalize the first letter of the conversion function
- Php+iis environment Discuz can't upload pictures solution
- PHP implementation of MySQL backup class library
- PHP Date Operation Class code-lunar-Gregorian conversion, leap year, calculation days, etc.
- PHP Cryptographic decryption Processing Class (code + usage) written by Discuz Forum
- PHP restricted pages can only be viewed and displayed in the built-in browser
- Phpinfo Nothing shows the reason for not executing and the solution
PHP Cryptographic decryption Processing Class (code + usage) written by Discuz Forum