In the development of PHP system, the member part is often an essential module, and the password processing has to face the problem, PHP Mcrypt Encryption Library needs additional settings, many people are directly using the MD5 () function encryption, this method is indeed safe, but because MD5 is irreversible encryption, Unable to restore the password, so there are some inconveniences, this article describes the encryption function to support the private key, it is good to use.
The code is as follows:
Php:
Copy CodeThe code is as follows:
-
- Description: PHP write encryption function, support private key
- Finishing: Http://www.jb51.net
- function
KeyED(
$txt
,$encrypt _key
)
- {
- $encrypt _key
= MD5
(
$encrypt _key
)
;
- $ctr
=0
;
- $tmp
= ""
;
- for
(
$i
=0
; $i
<>(
$txt
)
; $i
++ )
- {
- if
(
$ctr
= =Strlen
(
$encrypt _key
)
)
$ctr
=0
;
- $tmp
. = substr
(
$txt
,$i
,1
)
^ substr
(
$encrypt _key
,$ctr
,1
)
;
- $ctr
++;
- }
- return
$tmp
;
- }
- function
Encrypt(
$txt
,$key
)
- {
- Srand
(
(
Double)
Microtime
(
)
*1000000
)
;
- $encrypt _key
= MD5
(
Rand
(
0
,32000
)
)
;
- $ctr
=0
;
- $tmp
= ""
;
- for
(
$i
=0
; $i
<>(
$txt
)
; $i
++ )
- {
- if
(
$ctr
= =Strlen
(
$encrypt _key
)
)
$ctr
=0
;
- $tmp
. = substr
(
$encrypt _key
,$ctr
,1
)
. (
Substr
(
$txt
,$i
,1
)
^ substr
(
$encrypt _key
,$ctr
,1
)
)
;
- $ctr
++;
- }
- return
KeyED(
$tmp
,$key
)
;
- }
- function
Decrypt(
$txt
,$key
)
- {
- $txt
= KeyED(
$txt
,$key
)
;
- $tmp
= ""
;
- for
(
$i
=0
; $i
<>(
$txt
)
; $i
++ )
- {
- $MD 5
= substr
(
$txt
,$i
,1
)
;
- $i
++;
- $tmp
.= (
Substr
(
$txt
,$i
,1
)
^ $MD 5
)
;
- }
- return
$tmp
;
- }
- $key
= "www.yitu.org"
;
- $string
= "I am an encrypted character"
;
- Encrypt $string, and store it in $enc _text
- $enc _text
= Encrypt(
$string
,$key
)
;
- Decrypt the encrypted text $enc _text, and store it in $dec _text
- $dec _text
= Decrypt(
$enc _text
,$key
)
;
- Print
"Encrypted text: $enc _text
"
;
- Print
"decrypted text: $dec _text
"
;
- ?>
The results of each encryption are not the same, greatly enhancing the security of the password.
http://www.bkjia.com/PHPjc/327520.html www.bkjia.com true http://www.bkjia.com/PHPjc/327520.html techarticle in the development of PHP system, the member part is often an essential module, and the password processing has to face the problem, PHP Mcrypt Encryption Library needs additional settings, many people are straight ...