Heim > php教程 > PHP源码 > Eine prägnante reversible PHP-Verschlüsselungsfunktion

Eine prägnante reversible PHP-Verschlüsselungsfunktion

大家讲道理
Freigeben: 2016-11-11 10:26:04
Original
1555 Leute haben es durchsucht

Oft müssen wir Daten verschlüsseln und entschlüsseln. Beispielsweise müssen einige Daten in Cookies gespeichert werden, aber die Daten können von Benutzern nicht einfach abgerufen werden. In diesem Fall müssen wir die Daten verschlüsseln und in Cookies speichern bis wir es später verwenden müssen.

// 加密数据并写到cookie里
$cookie_data = $this -> encrypt("nowamagic", $data);
                  
$cookie = array(
    'name'   => '$data',
    'value'  => $cookie_data,
    'expire' => $user_expire,
    'domain' => '',
    'path'   => '/',
    'prefix' => ''
);
$this->input->set_cookie($cookie);
  
// 加密
public function encrypt($key, $plain_text) {  
    $plain_text = trim($plain_text);  
    $iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));  
    $c_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $plain_text, MCRYPT_ENCRYPT, $iv);  
    return trim(chop(base64_encode($c_t)));  
}  
 
使用的时候再解密:
if( isset($_COOKIE['data']) )
{
    //用cookie给session赋值
    $_SESSION['data'] = decrypt("nowamagic", $_COOKIE['data']);
}
  
function decrypt($key, $c_t) {  
    $c_t = trim(chop(base64_decode($c_t)));  
    $iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));  
    $p_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $c_t, MCRYPT_DECRYPT, $iv);  
    return trim(chop($p_t));  
}
Nach dem Login kopieren
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 Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage