当前位置:  编程技术>php

php Mcrypt扩展库加密与解密

    来源: 互联网  发布时间:2014-08-30

    本文导语:  Mcrypt 2.4.7是一个功能强大的加密算法扩展库,它包括有22种算法,其中就包括下面的几种算法:   Blowfish RC2 Safer-sk64 xtea Cast-256 RC4 Safer-sk128 DES RC4-iv Serpent Enigma Rijndael-128 Threeway Gost Rijndael-192 TripleDES LOKI97 Rijndael-256 Twofish Panam...

Mcrypt 2.4.7是一个功能强大的加密算法扩展库,它包括有22种算法,其中就包括下面的几种算法:
 

Blowfish RC2 Safer-sk64 xtea
Cast-256 RC4 Safer-sk128
DES RC4-iv Serpent
Enigma Rijndael-128 Threeway
Gost Rijndael-192 TripleDES
LOKI97 Rijndael-256 Twofish
PanamaSaferplus Wake

如何安装Mcrypt?
在标准的PHP软件包中不包括Mcrypt,因此需要下载它,下载的地址为:ftp://argeas.cs-net.gr/pub/unix/mcrypt/
下载后,按照下面的方法进行编译,并把它扩充在PHP中:
下载Mcrypt软件包。
 

代码示例:
gunzipmcrypt-x.x.x.tar.gz
tar -xvfmcrypt-x.x.x.tar
./configure --disable-posix-threads
make
make install
cd to your PHP directory.
./configure -with-mcrypt=[dir] [--other-configuration-directives]
make
make install
 

根据要求和PHP安装时与服务器作适当的修改。

如何使用Mcrypt扩展库对数据进行加密?
首先,将介绍如何使用Mcrypt扩展库对数据进行加密,然后再介绍如何使用它进行解密。
首先是对数据进行加密,然后在浏览器上显示加密后的数据,并将加密后的数据还原为原来的字符串,将它显示在浏览器上。

使用Mcrypt对数据进行加、解密
 

代码示例:
// Designate string to be encrypted
$string = "Applied Cryptography, by Bruce Schneier, is
a wonderful cryptography reference.";
// Encryption/decryption key
$key = "Four score and twenty years ago";
// Encryption Algorithm
$cipher_alg = MCRYPT_RIJNDAEL_128;
// Create the initialization vector for added security.
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher_alg,
MCRYPT_MODE_ECB), MCRYPT_RAND);
// Output original string
print "Original string: $string
";
// Encrypt $string
$encrypted_string = mcrypt_encrypt($cipher_alg, $key,
$string, MCRYPT_MODE_CBC, $iv);
// Convert to hexadecimal and output to browser
print "Encrypted string: ".bin2hex($encrypted_string)."
";
$decrypted_string = mcrypt_decrypt($cipher_alg, $key,
$encrypted_string, MCRYPT_MODE_CBC, $iv);
print "Decrypted string: $decrypted_string";
?>
 

执行上面的脚本将会产生下面的输出:
 

Original string: Applied Cryptography, by Bruce Schneier, is a wonderful cryptography reference.
Encrypted string: 02a7c58b1ebd22a9523468694b091e60411cc4dea8652bb8072 34fa06bbfb20e71ecf525f29df58e28f3d9bf541f7ebcecf62b c89fde4d8e7ba1e6cc9ea24850478c11742f5cfa1d23fe22fe8 bfbab5e
Decrypted string: Applied Cryptography, by Bruce Schneier, is a wonderful cryptography reference.

上面的代码中两个最典型的函数是mcrypt_encrypt()和 mcrypt_decrypt(),它们的用途是显而易见的。

使用了"电报密码本"模式,Mcrypt提供了几种加密方式,由于每种加密方式都有可以影响密码安全的特定字符,因此对每种模式都需要了解。
对那些没有接触过密码系统的读者来说,可能对mcrypt_create_iv()函数更有兴趣,会提到它创建的初始化向量(hence, iv),这一向量可以使每条信息彼此独立。

尽管不是所有的模式都需要这一初始化变量,但如果在要求的模式中没有提供这一变量,PHP就会给出警告信息。

您可能感兴趣的文章:
  • php base64加密解密的实现代码
  • php实现单位时间内字符串加密解密的函数
  • php DES加密解密的代码一例
  • 参考discuz的passpor写的php加密解密处理类

    
 
 

您可能感兴趣的文章:

  • 神盾加密解密教程(三)PHP 神盾解密工具
  • 教你如何解密 “ PHP 神盾解密工具 ”
  • PHP的加密/解密工具 ionCube
  • php base64加密解密的实现代码
  • PHP扩展模块 Opdumper iis7站长之家
  • 一组PHP加密解密函数分享
  • php加密算法之实现可逆加密算法和解密分享
  • 带密匙的php加密解密示例分享
  • php加密与解密类一例
  • php加密解密函数authcode实例解析
  • php加密解密实用类分享
  • php的一个简单加密解密代码
  • php authcode动态加密解密类实现代码
  • php写的AES加密解密类分享
  • 一个PHP针对数字的加密解密类
  • 兼容PHP和Java的des加密解密代码分享
  • 2个比较经典的PHP加密解密函数分享
  • php使用base64加密解密图片示例分享
  • 神盾加密解密教程(二)PHP 神盾解密
  • php中AES加密解密的例子小结
  • PHP源文件加密工具 PHP Screw
  • PHP源码加密工具 SourceCop
  • PHP 代码加密工具 HCache
  • 实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
  • PHP 加密类库 phpass
  • php_screw安装使用教程(另一个PHP代码加密实现)
  • PHP 源码加密模块 php-beast
  • php aes加密类代码分享
  • 如何使用eAccelerator加密PHP程序
  • Linux下的crypt函数和php中的crypt函数加密结果怎么不一样啊?
  • PHP中对各种加密算法、Hash算法的速度测试对比代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php安装完成后如何添加mysql扩展
  • PHP扩展 HTTP extension for PHP
  • CentOS下PHP安装完成后继续安装GD扩展库
  • PHP 扩展模块 PECL
  • PHP的开源扩展 WinBinder
  • IIS上的PHP扩展 FastCGI Extension
  • 中文分词PHP扩展 MFSOU
  • php扩展模块开发
  • 检测XSS漏洞的扩展 PHP Taint
  • PHP 的协程扩展 ptask
  • PHP扩展实现的框架 ZoeeyPHP
  • Eclipse的PHP插件扩展 oPDT
  • 怎样使RedHat8中的PHP添加MySql扩展?
  • PHP扩展模块 Opdumper
  • PHP 的扩展 Fast Assert
  • PHP 扩展安装器 Pickle
  • PHP exif扩展方法开启详解
  • PHP扩展报错[error: ‘PHP_FE_END’ undeclared here (not in a function)]
  • PHP 的扩展 Augmented Types
  • PHP 的 C 扩展 Zephir
  • PHP 的 API 扩展 Carbon2
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3