如何利Mcrypt扩展库进行加密和解密?
来源:互联网 发布:淘宝上营业执照是外地 编辑:程序博客网 时间:2024/06/04 18:19
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扩展库对数据进行加密,然后再介绍如何使用它进行解密。下面的代码对这一过程进行了演示,首先是对数据进行加密,然后在浏览器上显示加密后的数据,并将加密后的数据还原为原来的字符串,将它显示在浏览器上。
<?php
// 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就会给出警告信息。 <script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 如何利Mcrypt扩展库进行加密和解密?
- php 加密 Mcrypt扩展库
- AES加密解密(使用php扩展mcrypt实现AES加密)
- PHP加密扩展库Mcrypt安装和实例
- Php Mcrypt 加密解密
- php mcrypt 加密解密
- mcrypt加密解密
- PHP 使用 mcrypt 进行加密解密的函数
- 如何使用Base64进行加密和解密
- 如何使用Base64进行加密和解密
- 如何使用Base64进行加密和解密
- Mcrypt拓展的带密钥PHP加密和解密算法
- Mcrypt加密解密乱码处理
- PHP mcrypt 加密解密函数
- php 加密解密算法-mcrypt
- [愚翁专栏]如何使用Base64进行加密和解密
- 如何使用Base64进行加密和解密(续)
- 如何对web.config进行加密和解密
- 《.net编程先锋C#》第一章 C#简介(转)
- PHP模拟SQL Server的两个日期处理函数
- 《.net编程先锋C#》第八章 用C#写组件(转)
- PHP4中的COM函数探讨
- 《.net编程先锋C#》第六章 控制语句(转)
- 如何利Mcrypt扩展库进行加密和解密?
- C#Websites Directory to Sunwen
- PHP中如何安装 Mhash扩展库?
- 《.net编程先锋C#》第九章 配置和调度(转)
- PHP数据加密
- asp.net中当服务器出错时显示指定的错误页面,同时把错误信息写入系统日志文件的探讨
- 如何用php作Linux自动执行脚本?
- String类使用的例子(2)
- PHP程序的常见漏洞攻击分析