PHP 完全中文手册-第四章-28

王朝php·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

本函数库共有 8 个函数

要使用本函数库要先准备 mcrypt 程序,可以到 ftp://argeas.cs-net.gr/pub/unix/mcrypt 下载这个程序 libmcrypt-x.x.tar.gz。同时在编译 PHP 程序时需要加入 --with-mcrypt 的选项,俾使本函数库能顺利运作。

本函数提供的编码方式有 DES、TripleDES、Blowfish (默认值)、3-WAY、SAFER-SK64、SAFER-SK128、TWOFISH、TEA、RC2 及使用 CBC, OFB, CFB, ECB 作为密码检索的 GOST。此外还有 RC6 及 IDEA 等非免费的编码方式。见下面列示为已定义的密码:

MCRYPT_BLOWFISH

MCRYPT_DES

MCRYPT_TripleDES

MCRYPT_ThreeWAY

MCRYPT_GOST

MCRYPT_CRYPT

MCRYPT_DES_COMPAT

MCRYPT_SAFER64

MCRYPT_SAFER128

MCRYPT_CAST128

MCRYPT_TEAN

MCRYPT_RC2

MCRYPT_TWOFISH (mcrypt 2.x 前的版本用)

MCRYPT_TWOFISH128 (mcrypt 2.x 后的版本用)

MCRYPT_TWOFISH192

MCRYPT_TWOFISH256

MCRYPT_RC6

MCRYPT_IDEA

在密码检索本 (cipher) 方面,本函库支持 CBC、OFB、CFB 与 ECB 四种密码检索本。这四种密码检索本的简单叙述如下,更详细的信息请参考 Schneier 所着作的 Applied Cryptography (ISBN: 0-471-11709-9):

ECB (electronic codebook): 适合随机的资料,例如使用另外的密钥。若资料量少且随机时,使用 ECB 较不适合。

CBC (cipher block chaining): 适合文件的加密,安全性较 ECB 好。

CFB (cipher feedback): 适合对位组资料流中的某段独立位组资料 (single bytes) 加密。

OFB (output feedback): 与 CFB 相容,尤其适合在无法忍受错误波及的应用上。

目前 PHP 仍无法对单位 (bit) 的熵值做加密解密的步骤,目前只适合对字符串作密码处理。

在使用 CFB 及 OFB 二种模式时,必须要向量初始化 (Initialization vector, IV),CBC 模式也可以使用向量初始化。向量初始化的值在加解密时必须是独一无二的,同时也要保持相同。当加密后的资料输出时,也可同时输出密码钥匙 (例如存在文件中);或者也可以将向量初始化的值与加密后的资料一起输出。

mcrypt_get_cipher_name:

取得编码方式的名称。

mcrypt_get_block_size:

取得编码方式的区块大小。

mcrypt_get_key_size:

取得编码钥匙大小。

mcrypt_create_iv:

从随机源将向量初始化。

mcrypt_cbc:

使用 CBC 将资料加/解密。

mcrypt_cfb:

使用 CFB 将资料加/解密。

mcrypt_ecb:

使用 ECB 将资料加/解密。

mcrypt_ofb:

使用 OFB 将资料加/解密。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航