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