The code is as follows:
<?php
/**
* Function: Encrypt string to handle
* Parameter one: Content that needs to be encrypted
* Parameter two: Key
*/
function Passport_encrypt ($str, $key) {//cryptographic functions
Srand (Double) microtime () * 1000000);
$encrypt _key=md5 (rand (0, 32000));
$ctr = 0;
$tmp = ';
for ($i =0; $i <strlen ($STR); $i + +) {
$ctr = $ctr ==strlen ($encrypt _key) 0: $ctr;
$tmp. = $encrypt _key[$ctr]. ($str [$i] ^ $encrypt _key[$ctr + +]);
}
return Base64_encode (Passport_key ($tmp, $key));
}
/**
* Function: Decrypt the string for processing
* Parameter one: Need to decrypt the ciphertext
* Parameter two: key
*/
function Passport_decrypt ($STR, $key) {//decryption functions
$str =passport_key (Base64_decode ($STR), $key);
$tmp = ';
for ($i =0; $i <strlen ($STR); $i + +) {
$MD 5= $str [$i];
$tmp. = $str [+ + $i] ^ $MD 5;
}
return $tmp;
}
/**
* Auxiliary function
*/
function Passport_key ($str, $encrypt _key) {
$encrypt _key=md5 ($encrypt _key);
$ctr = 0;
$tmp = ';
for ($i =0; $i <strlen ($STR); $i + +) {
$ctr = $ctr ==strlen ($encrypt _key) 0: $ctr;
$tmp. = $str [$i] ^ $encrypt _key[$ctr + +];
}
return $tmp;
}
$str = ' Author: WWW.JB51.NET;
$key = ' jb51net ';
$encrypt =passport_encrypt ($str, $key);
$decrypt =passport_decrypt ($encrypt, $key);
Echo ' original: ', $str. ' <br>Echo ' redaction: ', $encrypt. ' <br>echo ' translation: ', $decrypt. ' <br>?>