PHP 字符串函数

PHPcrypt()函数通过使用 DES、Blowfish 或 MD5 算法返回散列字符串。

以下是 crypt() 函数的一些常量

  • [CRYPT_STD_DES]
  • [CRYPT_EXT_DES]
  • [CRYPT_MD5]
  • [CRYPT_BLOWFISH]
  • [CRYPT_SHA_256]
  • [CRYPT_SHA_512]

语法

string crypt (string $str [, string $salt ]);

参数

参数说明必须/可选
str指定要计算的字符串必须
salt指定一个算法可选

返回值

返回散列字符串。

注意

crypt()函数适用于不同的操作系统。

例子

介绍一些例子了解PHPcrypt()函数的使用方法。

示例1

<?php
// 2个字符的salt
if (CRYPT_STD_DES == 1){
    echo "Standard DES: ".crypt('yxjc123','jt')."\n<br>"; 
}
else{
    echo "Standard DES not supported.\n<br>";
}
?>

输出:

Standard DES: jt3H44d2V4SHE

示例2

<?php
// 4个字符的salt
if (CRYPT_EXT_DES == 1){
echo "Extended DES: ".crypt('yxjc123','_S4..java')."\n<br>";
}
else{
echo "Extended DES not supported.\n<br>";
}
?>

输出:

Extended DES: _S4..javaVqwnsYwgJ/A

示例3

<?php
// 4个字符的salt
if (CRYPT_MD5 == 1){
    echo "MD5: ".crypt('yxjc123','$1$yxjc123$')."\n<br>"; 
}
else{
    echo "MD5 not supported.\n<br>";
}
?>

输出:

MD5: $1$yxjc123$wQmQPvauNsR1mx6XYNrtx1

示例4

<?php
if (CRYPT_BLOWFISH == 1){
    echo "Blowfish: ".crypt('yxjc123','$2a$09$anexamplestringforsalt$')."\n<br>"; 
}
else{
    echo "Blowfish DES not supported.\n<br>";
}
?>

输出:

Blowfish: $2a$09$anexamplestringforsale4PrSw9bxfxp2jrhKMj84RSN0s..mTOC

示例5

<?php
if (CRYPT_SHA256 == 1) {
    echo "SHA-256: ".crypt('yxjc123','$5$rounds=5000$anexamplestringforsalt$')."\n<br>"; }
else{
    echo "SHA-256 not supported.\n<br>";
}
?>

输出:

SHA-256: $5$rounds=5000$anexamplestringf$iiQm599vzhciDpCEXdIBFnVx8aPvEJQboDg8zDjTQX/

示例6

if (CRYPT_SHA512 == 1) 
{
    echo "SHA-512: ".crypt('something','$6$rounds=5000$anexamplestringforsalt$'); 
}
else
{
    echo "SHA-512 not supported.";
}

输出:

SHA-512: $6$rounds=5000$anexamplestringf$Oo0skOAdUFXkQxJpwzO05wgRHG0dhuaPBaOU/oNbGpCEKlf/7oVM5wn6AN0w2vwUgA0O24oLzGQpp1XKI6LLQ0

示例7

<?php
if (CRYPT_SHA512 == 1) {
    echo "SHA-512: ".crypt('something','$6$rounds=5000$anexamplestringforsalt$'); 
}
else{
    echo "SHA-512 not supported.";
}
?>

输出:

SHA-512: $6$rounds=5000$anexamplestringf$Oo0skOAdUFXkQxJpwzO05wgRHG0dhuaPBaOU/oNbGpCEKlf/7oVM5wn6AN0w2vwUgA0O24oLzGQpp1XKI6LLQ0