crypt() 函数返回使用 DES、Blowfish 或 MD5 算法加密的字符串。

在不同的操作系统上,该函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP 会检查什么算法可用以及使用什么算法。

具体的算法依赖于 salt 参数的格式和长度。通过增加由使用特定加密方法的特定字符串所生成的字符串数量,salt 可以使加密更安全。

这篇文章主要为大家详细介绍了php使用crypt()函数进行加密

一、代码

<?php $str = '应用crypt()函数进行单向加密!'; //声明字符串变量$str echo '加密前$str的值为:'.$str; $crypttostr = crypt($str); //对变量$str加密 echo '<p>加密后$str的值为:'.$crypttostr; //输出加密后的变量 ?

二、运行结果

参数不带salt,每次加密得出的密文都不一样。
加密前$str的值为:应用crypt()函数进行单向加密!
加密后$str的值为:$1$Re4.Gg4.$D.yd00xX0fFfIfp6KrKGN0

三、代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> <html xmlns=""> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>使用crypt函数进行数据验证</title> <style type="text/css"> <!-- body,td,th { font-size: 12px; } body { margin-left: 10px; margin-top: 10px; margin-right: 10px; margin-bottom: 10px; } .STYLE1 { font-size: 14px; font-weight: bold; } --> </style> </head> <body> <p align="center"> <?php $conn = mysql_connect("localhost","root","root") or die("数据库链接错误".mysql_error()); mysql_select_db("db_database21",$conn) or die("数据库访问错误".mysql_error()); mysql_query("set names gb2312"); ?> </p> <table width="777" height="587" border="0" align="center" cellpadding="0" cellspacing="0" background="images/bg.jpg"> <tr> <td width="149" height="200"> </td> <td width="448"> </td> <td width="158"> </td> </tr> <tr> <td height="187"> </td> <td align="center" valign="middle"> <form id="form1" name="form1" method="post" action="index.php"> <table height="129" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="100" height="30" align="right" valign="middle" scope="col"><span class="STYLE1">用户名:</span></td> <td width="100" height="30" align="left" valign="middle" scope="col"><label for="textfield"></label> <input name="username" type="text" id="username" size="24" /></td> <td width="100" align="center" valign="middle" scope="col"> </td> </tr> <tr> <td height="30" align="right" valign="middle" class="STYLE1" scope="col">密码:</td> <td height="30" align="left" valign="middle" scope="col"><input name="password" type="password" id="password" size="25" /></td> <td align="center" valign="middle" scope="col"> </td> </tr> <tr> <td height="40" colspan="3" align="center" valign="middle" scope="col"><input type="image" name="imageField" src="images/bg2.JPG" /> <input type="image" name="imageField2" src="images/bg1.JPG" onclick="form.reset();return false;" /></td> </tr> </table> </form> <?php if(trim($_POST[username])!= "" and trim($_POST[password])!= ""){ $usr = crypt(trim($_POST[username]),$_POST[username]); $pwd = crypt(trim($_POST[password]),$_POST[password]); $sql = "select * from tb_user where username = '".$usr."' and password='".$pwd."'"; $rst = mysql_query($sql,$conn); $result=mysql_num_rows($rst); if($result>0){ echo "<font color='red'>用户登录成功。</font>"; }else{ echo "<font color='green'>用户登录失败!</font>"; } }else{ echo "请认真填写用户名和密码!"; } ?></td> <td> </td> </tr> <tr> <td height="200"> </td> <td> </td> <td> </td> </tr> </table> </body> </html>

四、运行结果