单向加密
crypt(str,salt)函数
是一种单项加密函数,密文不可还原为明文,若省略salt参数,每次会生成一个随机干扰码
echo crypt("test str","tm");
md5(str,raw_output)函数
很多网站用户注册是使用md5加密,将用户注册的密码加密为md5保存至数据库,用户登陆的时候再把输入的密码转换成md5值与数据库比较。整个过程程序自身都不知道用户真实密码,保证了用户的个人隐私
返回把内容加密为128位的大整数,raw_output默认为false,若设为true则返回一个二进制密文
echo md5("test str");
echo md5("test str");
sha1(str,raw_output)函数
返回加密后40位16进制整数,raw_output默认为false,如果参数为true则返回20位
echo sha1("123");
php加密扩展库
Mcrypt扩展库
1.Mcrypt库安装
找到PHP主目录下libmcrypt.dll,复制到系统目录Windows \ system32下,然后在php.ini文件中找到“;extension=php_mcrypt.dll”“;extension=php_mhash.dll”,去掉其中的分号,然后重启服务器就可以了
$en_dir = mcrypt_list_algorithms();//获取所有支持的算法,以数组返回
echo "【mcrypt加密算法】--------------<br>";
foreach($en_dir as $value){
echo $value."<br>";
}
$mo_dir = mcrypt_list_modes();//获取所有支持的模式,以数组返回
echo "【mcrypt加密模式】--------------<br>";
foreach($mo_dir as $value){
echo $value."<br>";
}
//mcrypt加密过程
$str = "这是加密内容"; //加密内容
$key = "key:1111"; //密钥
$cipher = MCRYPT_DES; //设置加密算法
$modes = MCRYPT_MODE_ECB; //设置加密模式
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);//定义初始化向量,系统随机
$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv);//开始加密
echo "加密后:".$str_encrypt."<br>";
$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv);//解密
echo "解密后:".$str_decrypt."<br>";