现在的位置: 首页 > 综合 > 正文

crypt函数加密

2013年11月03日 ⁄ 综合 ⁄ 共 1224字 ⁄ 字号 评论关闭

crypt() 函数返回使用 DES、Blowfish 或 MD5 加密的字符串。

在不同的操作系统上,本函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP 会检查什么算法可用以及使用什么算法。

语法

crypt(str,salt)

参数 描述

str 必需。规定要编码的字符串。
salt

可选。用于增加被编码字符数目的字符串,以使编码更加安全。

如果未提供 salt 参数,则每次调用该函数时会随机生成一个。

说明

确切的算法依赖于 salt 参数的格式和长度。

下面是与 crypt() 函数一起使用的一些常量。在安装时,由 PHP 设置这些常量:

  • [CRYPT_SALT_LENGTH]
  • [CRYPT_STD_DES]
  • [CRYPT_EXT_DES]
  • [CRYPT_MD5]
  • [CRYPT_BLOWFISH]
单向加密的salt值即便被泄露,黑客也无法恢复出机密信息的明文。
CRYPT_STD_DES 2-character (Default) 
CRYPT_EXT_DES 9-character 
CRYPT_MD5 12-character beginning with $1$ 
CRYPT_BLOWFISH 16-character beginning with $2$

<?php
	print "My system salt size is: ". CRYPT_SALT_LENGTH . "\n<br />";
	if (CRYPT_STD_DES == 1)
	{
		echo "Standard DES: ".crypt("hello world","12")."\n<br />";
	}
	else
	{
		echo "Standard DES not supported.\n<br />";
	}

	if (CRYPT_EXT_DES == 1)
	{
		echo "Extended DES: ".crypt("hello world","123456789")."\n<br />";
	}
	else
	{
		echo "Extended DES not supported.\n<br />";
	}

	if (CRYPT_MD5 == 1)
	{
		echo "MD5: ".crypt("hello world","\$1\$123456789")."\n<br />";
	}
	else
	{
		echo "MD5 not supported.\n<br />";
	}

	if (CRYPT_BLOWFISH == 1)
	{
		echo "Blowfish: ".crypt("hello world","\$2a\$123456789012")."\n<br />";
	}
	else
	{
		echo "Blowfish DES not supported.";
	}
?>
输出结果如下:
Txt代码 
  1. My system salt size is: 123   
  2. Standard DES: 12M4UL.gjYcFk   
  3. Extended DES: 12M4UL.gjYcFk   
  4. MD5: $1$12345678$lo0TMwpURU6MI/a/.iXrK.   
  5. Blowfish: $2wR1loXWfhEk   

抱歉!评论已关闭.