PHP 加密技术
PHP 加密技术
单向加密技术
(1)
string crypt ( string
$str
[, string $salt
] )crypt() 返回一个基于标准 UNIX DES 算法或系统上其他可用的替代算法的散列字符串。
$salt 是加密时使用的干扰串,crypt()函数支持四种算法和长度。
这种散列类型由盐值参数触发。在 5.3 之前,PHP 在安装时根据系统的 crypt() 决定可用的算法。如果没有提供盐值,PHP 将自动生成一个 2 个字符(DES)或者 12 个字符(MD5)的盐值 ,这取决于 MD5 crypt() 的可用性。
(2)
string md5 ( string $str
[, bool $raw_output
= false ] )
如果可选的
raw_output
被设置为TRUE
,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。
以 32 字符十六进制数字形式返回散列值。说明返回值是 128位 二进制数值。
(3)
string sha1 ( string $str
[, bool $raw_output
= false ] )
raw_output
如果可选的 raw_output
参数被设置为 TRUE
, 那么 sha1 摘要将以 20 字符长度的原始格式返回, 否则返回值是一个 40 字符长度的十六进制数字。
上述 20 字符 即是 160位 的二进制, 然后以字节形式返回。
加密扩展有如图这些。
链接: http://php.net/manual/zh/book.*****.php
加密扩展库: Mcrypt, Mhash 扩展库。
Mcrypt 库。
库常量 有 加密算法 和 加密模式。有对应的前缀。
函数过多,仅给出常用的四个。具体参见 使用手册。
- mcrypt_create_iv — 从随机源创建初始向量
- mcrypt_get_iv_size — 返回指定算法/模式组合的初始向量大小
- mcrypt_encrypt — 使用给定参数加密明文
- mcrypt_decrypt — 使用给定参数解密密文
Mhash 库有如下五个函数: