PHP中的Mcrypt函数库应用

原创 2004年08月28日 23:07:00

Mcrypt的4种块密码模式是:

·Electronic CodeBook(ECB,电子码证书):该模式用来加密短小无序的数据,例如键;
·Cipher Block Chaining(CBC,密码块链):该模式的安全级别要比ECB高;
·Cipher FeedBack(CFB,密码反馈):该模式用于为字节流按字节加密;
·Output FeedBack(OFB,输出反馈):该模式与CFB模式想类似,但是它可以用于无法容忍错误繁殖问题的应用程序,该模式以8位方式运行,已被证明是不安全的


如果是最新版本的Mcrypt函数库,那么Mcrypt也可以用更加安全的块模式以及以tream模式运行,包括:
·oOutput FeedBack(nOFB):该模式与OFB模式相类似,但是它的安全性更高,因为它是以整个块(n位)的方式运行的,而不是以单个位来运行的;
·Stream Mode(流模式):是附加模式,可以支持流算法,如WAKE和RC4。


这里仅对CBC的语法做介绍:

string mcrypt_cbc(string cipher,string key,string data,int mode)

该函数有4个参数,第一个cipher表示对数据加密的算法,第二个key是为算法提供的键(密钥),第三个data是被加密的信息,最后一个mode详细说明了数据是被加密还是被解密。

Mcrypt库支持的算法有:
·DES和Triple-DES
·Blowfish
·TWOFISH
·SAFER-SK64
·3-WAY
·RC2
·GOST
·RC6
·RC4
·CAST
·IDEA
·AES

下载Mcrypt函数外部库(版本: 2.5.7 )

http://club.phpe.net/index.php?s=&act=Attach&type=post&id=28237(我做的压缩包,内含外部库函数、安装方法及自己写的一个PHP函数)

或者到PHP官方网站提供的地址去下载:

http://ftp.emini.dk/pub/php/win32/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

支持的加密模式:

cbc cfb ctr ecb ncfb nofb ofb stream

安装方法

1.将libmcrypt.dll复制到system32目录
2.去掉;extension=php_mcrypt.dll前面的分号

重新启动Apache或IIS

我只用了CBC模式,其他的参考PHP官方网站

http://www.php.net/manual/zh/ref.mcrypt.php

Mcrypt函数:

<?php
/*****************************
 * Mcrypt
 * (C)Copyright fzjw
 * Email:fzj-w@126.com
 * 2004/08/22
 ****************************/

function Mcrypt($password){
  $password = trim($password);                    //去掉空格
  $key      = "wwcec.net webmaster fzj-w";    //自定义密钥
  $password = mcrypt_cbc(MCRYPT_LOKI97,$password,$key,MCRYPT_ENCRYPT);
  $password = bin2hex($password);             //将二进制编码转换为16进制
  return $password;
}

//使用方法

$password = Mcrypt($_POST['password'])

?>

 

 

PHP安装Mcrypt扩展

在使用PHP开发的过程中,为了提供数据传输的安全性,避免不了使用加密函数,除了使用php本身自带的几个函数,php还提供Mhash和Mcrypt2个扩展库。Mcrypt扩展库支撑的加密算法可以看htt...
  • r3215407
  • r3215407
  • 2014年03月11日 22:54
  • 4136

PHP配置mcrypt扩展详细步骤

本文大部分都是别人的,只是根据自己的使用过程加了一点说明,希望原作者不要介意。 基本原理是:首先使mcrypt软件能够运行,然后安装php扩展模块,并在php.ini配置。 这里注意的是mcryp...
  • WangXiaoMing099
  • WangXiaoMing099
  • 2014年03月05日 10:45
  • 1454

PHP安全处理之Mcrypt使用总结

我们知道在编写代码程序时,除了要保证代码的高性能,还有一个非常重要的,就是数据的安全。对于PHP而言,它本身提供了几种加密数据的办法,不过还是有限,对于满足特殊数据加解密方面有些欠缺,所以这里推荐使用...
  • why_2012_gogo
  • why_2012_gogo
  • 2016年04月19日 22:24
  • 4715

安装php的mcrypt扩展(动态加载编译)

安装php的mcrypt扩展(动态加载编译) 下载php下的mcrypt扩展或者直接下载php的完整安装包 http://cn.php.net/releases/ 网页下找到自己服务器的p...
  • qq_15974389
  • qq_15974389
  • 2015年09月10日 15:56
  • 1026

PHP之——CentOS下php安装mcrypt扩展(插曲)

(以下步骤均为本人实际操作,可能与你的安装方法有所区别,但我会尽量排除疑惑) 大致步骤(1)安装mcrypt,(2)安装php对mcrypt的扩展,(3)重启apache (1)、确认你的linux没...
  • l1028386804
  • l1028386804
  • 2015年05月27日 12:17
  • 1910

CentOS下php安装mcrypt扩展

(1)、确认你的linux没有安装mcrypt库,如果已安装,跳过安装步骤[root@test-206 ~]# yum list installed|grep mcrypt libmcrypt.x86...
  • zy112289
  • zy112289
  • 2016年10月17日 17:06
  • 5295

CentOS下php安装mcrypt扩展

本方法在本人测试服务下安装成功,Linux版本centos6.5 源码编译安装,去http://www.sourceforge.net下载Libmcrypt,mhash,mcrypt安装...
  • L_yangliu
  • L_yangliu
  • 2016年11月03日 09:11
  • 2952

Linux下php安装mcrypt扩展

说明: 操作系统:CentOS 5.x 64位 已安装php版本:php-5.4.4 已安装php路径:/usr/local/php 实现目的: 在不影响网站访问的情况下...
  • yuanyuan_186
  • yuanyuan_186
  • 2016年05月03日 17:53
  • 9292

Mac os 安装mcrypt扩展 【总结】

总结: 一、下载并解压安装mcrypt-2.6.8.tar.gz lynedeMacBook-Pro: lyne$ brew search mcrypt lynedeMacBook-Pro: lyn...
  • Lyne_007
  • Lyne_007
  • 2017年02月09日 15:10
  • 1919

缺少 mcrypt 扩展,请检查 PHP 配置。phpmyadmin无法加载

缺少 mcrypt 扩展,请检查 PHP 配置。phpmyadmin无法加载 无法载入 mcrypt 扩展,请检查 PHP 配置 出现以下几种情况后可能会造成运行phpmyadmin程...
  • binsoft
  • binsoft
  • 2014年06月23日 18:49
  • 3176
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP中的Mcrypt函数库应用
举报原因:
原因补充:

(最多只允许输入30个字)