background image

怎样使用 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);

//加密函数