crypt 百科内容来自于: 百度百科

语法

crypt(str,salt)
参数
描述
str
必需。规定要编码的字符串。
salt
可选。用于增加被编码字符数目的字符串,以使编码更加安全。
如果未提供 salt 参数,则每次调用该函数时会随机生成一个。
Linux 函数原型
char *crypt(const char *key, const char *salt);
key:要加密的明文。
salt:密钥。
salt 默认使用DES加密方法。DES加密时,salt只能取两个字符,多出的字符会被丢弃。

说明

确切的算法依赖于 salt 参数的格式和长度。
下面是与 crypt() 函数一起使用的一些常量。在安装时,由 PHP 设置这些常量:
[CRYPT_SALT_LENGTH] [CRYPT_STD_DES] [CRYPT_EXT_DES] [CRYPT_MD5] [CRYPT_BLOWFISH]
(1)salt这个字符串如果以$1$开头,以$结尾,那么这表示让crypt用MD5的方式加密,加密后出来的密文格式就是 $1$...$<密文正文> ,夹在$1$和$之间的字符串就是我们指定的密钥文字。这个密钥文字最多不能超过8个字符。
(2)如果salt字符串不是(1)方式的格式,那默认就用DES加密方法。DES加密时,salt只能取两个字符,也就是说,salt最多不能 超过2个字符,多出的字符会被丢弃,用DES加密出来的密文前两个字符就是密钥。后面紧跟着的就是真正的密文。

提示和注释

提示:解密函数是没有的。crypt() 函数使用一种单向算法。

例子

在本例中,我们将测试不同的算法:
<?php
if (CRYPT_STD_DES == 1) { echo "Standard DES: ".crypt("hello world")."\n<br />";
} else { echo "Standard DES not supported.\n<br />";
} if (CRYPT_EXT_DES == 1) { echo "Extended DES: ".crypt("hello world")."\n<br />";
} else { echo "Extended DES not supported.\n<br />";
} if (CRYPT_MD5 == 1) { echo "MD5: ".crypt("hello world")."\n<br />";
} else { echo "MD5 not supported.\n<br />";
} if (CRYPT_BLOWFISH == 1) { echo "Blowfish: ".crypt("hello world");
} else { echo "Blowfish DES not supported.";
} ?>
输出类似(依赖于操作系统):
Standard DES: $1$r35.Y52.$iyiFuvM.zFGsscpU0aZ4e. Extended DES not supported. MD5: $1$BN1.0I2.$8oBI/4mufxK6Tq89M12mk/ Blowfish DES not supported.
PHP String 函数
$firstVoiceSent
- 来自原声例句
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定