首页 > 代码库 > 李德鹏信息安全加密解密

李德鹏信息安全加密解密

比如下面这个例子:原理是先把值用session存起来然后再给cookie加密,最后面解密达到信息安全的目的

关键步骤

1:$secureKey = ‘imooc‘; //加密密钥
2:$str = serialize($userinfo); //将用户信息序列化

3:$str = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), $str, MCRYPT_MODE_ECB));//字符串以 BASE64 编码[然后加密数据并返回密文。]括号里面的是传递的参数(a:

技术分享

PHP完整的AES加解密算法使用及例子(256位),b:密钥,c:使用给定的 ciphermode 加密的数据。 如果数据长度不是 n*分组大小,则在其后使用 ‘\0‘ 补齐。d;MCRYPT_MODE_modename 常量中的一个,或以下字符串中的一个:"ecb","cbc","cfb","ofb","nofb" 和 "stream"。

4:/将加密后的用户数据存储到cookie中
setcookie(‘userinfo‘, $str);

//当需要使用时进行解密
$str = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), base64_decode($str), MCRYPT_MODE_ECB);

5:$uinfo = unserialize($str);//unserialize — 从已存储的表示中创建 PHP 的值

<?php
header("content-type:text/html;charset=utf8");


session_start();
//假设用户登录成功获得了以下用户数据
$userinfo = array(
    ‘uid‘  => 10000,
    ‘name‘ => ‘spark‘,
    ‘email‘ => ‘spark@imooc.com‘,
    ‘sex‘  => ‘man‘,
    ‘age‘  => ‘18‘
);


/* 将用户信息保存到session中 */
$_SESSION[‘uid‘] = $userinfo[‘uid‘];
$_SESSION[‘name‘] = $userinfo[‘name‘];
$_SESSION[‘userinfo‘] = $userinfo;

//* 将用户数据保存到cookie中的一个简单方法 */
$secureKey = ‘imooc‘; //加密密钥
$str = serialize($userinfo); //将用户信息序列化
//用户信息加密前
$str = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), $str, MCRYPT_MODE_ECB));
//用户信息加密后
//将加密后的用户数据存储到cookie中
setcookie(‘userinfo‘, $str);

//当需要使用时进行解密
$str = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), base64_decode($str), MCRYPT_MODE_ECB);
$uinfo = unserialize($str);
echo "解密后的用户信息:<br>";
print_r($uinfo);

李德鹏信息安全加密解密