PHP 中的 crypt() 函数

phpprogrammingserver side programming

crypt() 函数用于使用 DES、Blowfish 或 MD5 等算法对字符串进行哈希处理。

注意 −此函数在不同的操作系统上表现不同。

以下是与 crypt() 函数一起使用的一些常量。

  • [CRYPT_STD_DES] - 基于 DES 的标准哈希,带有字母表"./0-9A-Za-z"中的两个字符 salt 。

  • [CRYPT_EXT_DES] - 基于 DES 的扩展哈希,带有九个字符的 salt ,由下划线后跟 4 个字节的迭代计数和 4 个字节的 salt 组成。

  • [CRYPT_MD5] - MD5 哈希,带有以 $1$ 开头的 12 个字符 salt

  • [CRYPT_BLOWFISH] - Blowfish 哈希,带有以 $2a$、$2x$ 或$2y$、两位数成本参数"$"和字母表中的 22 个字符"./0-9A-Za-z"。

  • [CRYPT_SHA_256] - SHA-256 哈希, salt 值为 16 个字符,以 $5$ 开头。

  • [CRYPT_SHA_512] - SHA-512 哈希, salt 值为 16 个字符,以 $6$ 开头。

语法

crypt(str, salt)

参数

  • str − 要进行哈希处理的字符串。必填。

  • salt − 用于哈希计算的 salt 字符串。可选。

返回

crypt() 函数返回编码字符串或少于 13 个字符的字符串,并且保证在失败时与 salt 不同

下面是一个例子 −

示例

<?php
if (CRYPT_STD_DES == 1) {
   echo "DES supported = ".crypt('demo','st')."
"; } else {    echo "DES not supported!"; } ?>

以下是输出 −

输出

DES supported = st7zBedJadRn2

相关文章