Heim  >  Artikel  >  Backend-Entwicklung  >  So führen Sie eine PHP-Verschlüsselung und -Entschlüsselung durch

So führen Sie eine PHP-Verschlüsselung und -Entschlüsselung durch

王林
王林Original
2019-09-26 11:48:492020Durchsuche

So führen Sie eine PHP-Verschlüsselung und -Entschlüsselung durch

Die auf diesen Funktionen basierende reversible Verschlüsselung ist: base64_encode(), urlencode()Die entsprechenden Entschlüsselungsfunktionen: base64_decode(), urldecode(), Beispiele sind wie folgt:

1. Der erste Verschlüsselungs- und Entschlüsselungsalgorithmus

<?php  
function encryptDecrypt($key, $string, $decrypt){   
    if($decrypt){   
        $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12");   
        return $decrypted;   
    }else{   
        $encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));   
        return $encrypted;   
    }   
}   

//加密:"z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk="  
echo encryptDecrypt(&#39;password&#39;, &#39;Helloweba欢迎您&#39;,0);   
//解密:"Helloweba欢迎您"  
echo encryptDecrypt(&#39;password&#39;, &#39;z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4Bk=&#39;,1);  
?>

Der zweite Entschlüsselungs- und Entschlüsselungsalgorithmus

3 Dritter Verschlüsselungs- und Entschlüsselungsalgorithmus

<?php  
//加密函数  
function lock_url($txt,$key=&#39;www.xxxx.com&#39;){  
    $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+";  
    $nh = rand(0,64);  
    $ch = $chars[$nh];  
    $mdKey = md5($key.$ch);  
    $mdKey = substr($mdKey,$nh%8, $nh%8+7);  
    $txt = base64_encode($txt);  
    $tmp = &#39;&#39;;  
    $i=0;$j=0;$k = 0;  
    for ($i=0; $i<strlen($txt); $i++) {  
        $k = $k == strlen($mdKey) ? 0 : $k;  
        $j = ($nh+strpos($chars,$txt[$i])+ord($mdKey[$k++]))%64;  
        $tmp .= $chars[$j];  
    }  
    return urlencode($ch.$tmp);  
}  
//解密函数  
function unlock_url($txt,$key=&#39;www.xxxx.com&#39;){  
    $txt = urldecode($txt);  
    $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+";  
    $ch = $txt[0];  
    $nh = strpos($chars,$ch);  
    $mdKey = md5($key.$ch);  
    $mdKey = substr($mdKey,$nh%8, $nh%8+7);  
    $txt = substr($txt,1);  
    $tmp = &#39;&#39;;  
    $i=0;$j=0; $k = 0;  
    for ($i=0; $i<strlen($txt); $i++) {  
        $k = $k == strlen($mdKey) ? 0 : $k;  
        $j = strpos($chars,$txt[$i])-$nh - ord($mdKey[$k++]);  
        while ($j<0) $j+=64;  
        $tmp .= $chars[$j];  
    }  
    return base64_decode($tmp);  
}  
?>

Verschiedene Verschlüsselungs- und Entschlüsselungsalgorithmen können für unterschiedliche Anforderungen verwendet werden.


Empfohlenes Tutorial:

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo führen Sie eine PHP-Verschlüsselung und -Entschlüsselung durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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