PHP加密函数crypt常量

在不同的操作系统上,crypt函数可能具有不同的行为,某些操作系统支持多种算法类型。在安装PHP时会检查当前系统什么算法可用以及使用什么算法,确切的算法依赖于调用函数时salt参数的格式和长度。安装PHP时可以设置一些相关的常量。

常量说明
CRYPT_SALT_LENGTH默认的加密长度。使用标准的DES加密,长度为 2。
CRYPT_STD_DESPHP5.3起,标准的基于DES加密有2个字符的salt,来自字母表"./0-9A-Za-z"。在salt中使用无效的字符将导致函数调用失败。
CRYPT_EXT_DESPHP5.3起,扩展的基于DES加密有9个字符的salt,由1个下划线,后边跟4个字节的迭代次数和4个字节的salt组成。这些被编码为可打印字符,每个字符6位,最低有效字符优先。值0到63被编码为"./0-9A-Za-z"。
CRYPT_MD5PHP5.3起,MD5加密有12个字符的salt,以$1$开始。
CRYPT_BLOWFISHPHP5.3起,Blowfish加密有一个以$2a$开始的salt,一个两位数的cost参数"$",以及来自字母表"./0-9A-Za-z" 中的22个字符。使用字母表以外的字符将导致函数返回一个长度为0的字符串。"$"参数是以2为底的基于Blowfish散列算法的迭代次数的对数,必须在04-31范围内。在该范围以外的值将导致函数调用失败。使用此算法将导致要进行加密的字符串被截取为长度最大为72的字符串。PHP5.3.7起,新增$2x$或$2y$开始的salt,用来处理潜在的高位攻击。
CRYPT_SHA256PHP5.3.2起,SHA-256 加密有16个字符的salt,以$5$开始。如果salt字符串以"rounds=<N>$" 开始,N的数字值用于表示散列循环被执行的次数,与Blowfish中的cost参数类似。默认的循环次数是5000,最小值是1000,最大值是999999999。任何超出这个范围的N的值将会转换成最接近的边界值。
CRYPT_SHA512PHP5.3.2起,SHA-512 加密有16个字符的salt,以$6$开始。 如果salt字符串以"rounds=<N>$" 开始,N的数字值用于表示散列循环被执行的次数,与Blowfish中的cost参数类似。默认的循环次数是5000,最小值是1000,最大值是999999999。任何超出这个范围的N的值将会转换成最接近的边界值。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值