>  기사  >  백엔드 개발  >  PHP는 crypt() 함수를 사용하여 샘플 코드를 암호화합니다.

PHP는 crypt() 함수를 사용하여 샘플 코드를 암호화합니다.

怪我咯
怪我咯원래의
2017-07-13 14:50:361130검색

crypt() 함수는 DES, Blowfish 또는 MD5 알고리즘을 사용하여 암호화된 문자열을 반환합니다.

이 함수는 운영 체제에 따라 다르게 작동하며 일부 운영 체제에서는 둘 이상의 알고리즘 유형을 지원합니다. 설치 시 PHP는 어떤 알고리즘을 사용할 수 있는지, 어떤 알고리즘이 사용되는지 확인합니다.

특정 알고리즘은 솔트 매개변수의 형식과 길이에 따라 다릅니다. Salt는 특정 암호화 방법을 사용하여 특정 문자열에 의해 생성된 문자열 수를 늘려 암호화를 더욱 안전하게 만들 수 있습니다.

이 글에서는 주로 PHP가 crypt() 함수를 사용하여 암호화하는 방법을 자세히 소개합니다.

1. 코드

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

2. 실행 결과

솔트가 없는 매개변수, 각 암호화 결과 암호문은 모두 다른.
암호화 전 $str 값: 단방향 암호화를 위한 crypt() 함수 적용
암호화 후 $str 값: $1$Re4.Gg4.$D.yd00xX0fFfIfp6KrKGN0

3.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<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 = &#39;".$usr."&#39; and password=&#39;".$pwd."&#39;"; 
  $rst = mysql_query($sql,$conn); 
  $result=mysql_num_rows($rst); 
  if($result>0){ 
   echo "<font color=&#39;red&#39;>用户登录成功。</font>"; 
  }else{ 
   echo "<font color=&#39;green&#39;>用户登录失败!</font>"; 
  } 
 }else{ 
  echo "请认真填写用户名和密码!"; 
 } 
?></td> 
 <td> </td> 
 </tr> 
 <tr> 
 <td height="200"> </td> 
 <td> </td> 
 <td> </td> 
 </tr> 
</table> 
</body> 
</html>

4. 운영결과

위 내용은 PHP는 crypt() 함수를 사용하여 샘플 코드를 암호화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.