crypt
C语言函数之一
crypt(const char *key, const char *salt) 函数为C语言函数之一,返回使用 DES、Blowfish 或 MD5 加密的字符串。 在不同的操作系统上,本函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP 会检查什么算法可用以及使用什么算法。
语法
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加密出来的密文前两个字符就是密钥。后面紧跟着的就是真正的密文。
如需更详细C语言的使用方法,请在GNU系统终端内输入:
提示和注释
提示:解密函数是没有的。crypt() 函数使用一种单向算法。
例子
在本例中,我们将测试不同的算法:
输出类似(依赖于操作系统):
Standard DES: $1..m51.
Extended DES: $1$1/1..P0.
MD5: $1.yg5..
Blowfish: $1..gv4.
PHP String 函数
参考资料
GNU C语言库 33.3 加密密码.GNU Operating System.
最新修订时间:2024-06-27 13:46
目录
概述
语法
说明
参考资料