当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP string crypt()用法及代码示例


crypt() 是预定义的 PHP 字符串函数。它用于通过使用 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 指定要散列的字符串 required
salt 指定盐刺 optional

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

例子1

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

输出:

Standard DES:jtigeEQ4GnSRg \

例子2

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

输出:

Extended DES:_S4..javac7kJCJPxtp6 

例子3

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

输出:

MD5:$1$javatpoi$/QyBQ/V7dJjcGaOq83EhL0

注意:以 $5$开头的 16 个字符盐,默认轮数为 5000。

示例 4

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

输出:

Blowfish:$2a$09$anexamplestringforsale8idRk7z/D1GAsmHMUTi1L/e7Cjcngiy 

例 5

<?php
// 16 character salt starting with $5$. The default number of rounds is 5000.
if (CRYPT_SHA256 == 1) {
echo "SHA-256:".crypt('javatpoint','$5$rounds=5000$anexamplestringforsalt$')."\n<br>"; }
else{
echo "SHA-256 not supported.\n<br>";
}
?>

输出:

SHA-256:$5$rounds=5000$anexamplestringf$cdf4KmhoNRhj0riAq6kpiYdPHGWOBEnPxtPxje3Fjm2 

例 6

// 16 character salt starting with $6$. The default number of rounds is 5000.
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
// 16 character salt starting with $6$. The default number of rounds is 5000.
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






相关用法


注:本文由纯净天空筛选整理自 PHP string crypt() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。