怎样使用 PHP 加密模块
PHP 程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常
重要的,那就是程序的安全性保障。PHP 除了自带的几种加密函数外,还有功能更全面的
PHP 加密扩展库 Mcrypt 和 Mhash
。
其中,Mcrypt 扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还
原。PHP 加密扩展库 Mcrypt
的算法和加密模式
Mcrypt 库支持 20 多种加密算法和 8 种加密模式,具体可以通过函数
mcrypt_list_algorithms()和 mcrypt_list_modes()
来显示,结果如下:
Mcrypt 支持的算法有:cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-
192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Mcrypt 支持的加密模式有:cbc cfb ctr ecb ncfb nofb ofb stream
这些算法和模式在应用中要以常量来表示,写的时候加上前缀 MCRYPT_和
MCRYPT_来表示,如下面 Mcrypt
应用的例子:
DES 算法表示为 MCRYPT_DES;
ECB 模式表示为 MCRYPT_MODE_ECB
;
PHP 加密扩展库 Mcrypt
应用
先看一个例子,了解 Mcrypt
的工作流程,再来看看部分流程使用的函数:
<?php
$str = "我的名字是?一般人我不告诉他!";
//加密内容
$key = "key:111";
//密钥
$cipher = MCRYPT_DES;
//密码类型
$modes = MCRYPT_MODE_ECB;
//密码模式
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);//初始化向量
echo "加密明文:".$str."<p>";
$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv);
//加密函数