Heim > Backend-Entwicklung > PHP-Tutorial > Eine Reihe von Beispielcodes für reversible PHP-Verschlüsselungs- und -Entschlüsselungsalgorithmen

Eine Reihe von Beispielcodes für reversible PHP-Verschlüsselungs- und -Entschlüsselungsalgorithmen

高洛峰
Freigeben: 2023-03-03 18:42:02
Original
1022 Leute haben es durchsucht

Für die meisten Passwortverschlüsselung können wir MD5, SHA1 und andere Methoden verwenden. Datenlecks können effektiv verhindert werden, diese Methoden gelten jedoch nur für Datenverschlüsselung, die nicht wiederhergestellt werden muss.

Für Informationen, die wiederhergestellt werden müssen, muss ein reversibler Verschlüsselungs- und Entschlüsselungsalgorithmus verwendet werden.

Der folgende Satz von PHP-Funktionen ist die Methode zur Implementierung dieser Ver- und Entschlüsselung:

Der Verschlüsselungsalgorithmus ist wie folgt:

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++;
    }
    for ($i = 0; $i < $len; $i++)
    {
        $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
    }
    return base64_encode($str);
}
Nach dem Login kopieren

Der Entschlüsselungsalgorithmus ist wie folgt :

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) 
        {
         $x = 0;
        }
        $char .= substr($key, $x, 1);
        $x++;
    }
    for ($i = 0; $i < $len; $i++)
    {
        if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))
        {
            $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
        }
        else
        {
            $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
        }
    }
    return $str;
}
Nach dem Login kopieren

Die oben genannten Verschlüsselungs- und Entschlüsselungsprozesse erfordern alle die Verwendung eines Verschlüsselungsschlüssels (d. h. Parameter $key).

$data = &#39;PHP加密解密算法&#39;;  // 被加密信息
$key = &#39;123&#39;;     // 密钥
$encrypt = encrypt($data, $key);
$decrypt = decrypt($encrypt, $key);
echo $encrypt, "\n", $decrypt;
Nach dem Login kopieren

Oben wird ein Ergebnis ähnlich dem folgenden ausgegeben:

gniCSOzZG+HnS9zcFea7SefNGhXF
PHP-Verschlüsselungs- und Entschlüsselungsalgorithmus

Wie aus dem Obigen ersichtlich ist Im Ergebnis handelt es sich um eine Reihe reversibler Verschlüsselungs- und Entschlüsselungsalgorithmen, mit denen einige Daten verschlüsselt werden können, die wiederhergestellt werden müssen.

Weitere Artikel zu einer Reihe von Beispielcodes für reversible PHP-Verschlüsselungs- und -Entschlüsselungsalgorithmen finden Sie auf der chinesischen PHP-Website!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage