Home  >  Article  >  Backend Development  >  A set of PHP reversible encryption and decryption algorithm example codes_PHP tutorial

A set of PHP reversible encryption and decryption algorithm example codes_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:40:12898browse

For most password encryption, we can use md5, sha1 and other methods. Data leakage can be effectively prevented, but these methods only apply to data encryption that does not require restoration.

For information that needs to be restored, a reversible encryption and decryption algorithm needs to be used.

The following set of PHP functions are methods to implement this encryption and decryption:

The encryption algorithm is as follows:

Copy code The code is as follows:

function encrypt($data, $key)
{
$key = md5($key);
$x = 0;
$len = strlen($data);
$l = strlen($key);
for ($i = 0; $i < $len; $i++)
{
if ($x == $l)
{
$x = 0;
}
        $char .= $key{$x};
                                                                        $x++;                          str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
}
return base64_encode($str);
}


The decryption algorithm is as follows:


Copy code
The code is as follows:function decrypt($data, $ key){
$key = md5($key);
$x = 0;
$data = base64_decode($data);
$len = strlen($data);
$l = strlen($key);
for ($i = 0; $i < $len; $i++)
{
if ($x == $l)
                                                                                                                 0; $i < $len; $i++)
{
if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))
                                                                                                                    
else
{
$str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
}
}
return $str;
}


The above encryption and decryption processes all require the use of an encryption key (i.e. parameter $key).



Copy code

The code is as follows:


$data = 'PHP encryption and decryption algorithm'; // Encrypted information
$key = '123'; // Key
$encrypt = encrypt($data, $key);
$decrypt = decrypt($encrypt, $key);
echo $encrypt, "n ", $decrypt;
The above will output a result similar to the following: gniCSOzZG+HnS9zcFea7SefNGhXF
PHP encryption and decryption algorithm

As can be seen from the above results, this is a set of reversible encryption and decryption algorithms that can be used to encrypt some data that needs to be restored.




http://www.bkjia.com/PHPjc/726029.html

www.bkjia.com

true

http: //www.bkjia.com/PHPjc/726029.html

TechArticle

For most password encryption, we can use md5, sha1 and other methods. Data leakage can be effectively prevented, but these methods only apply to data encryption that does not require restoration. For those who need to restore...

Statement:
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