ホームページ  >  記事  >  バックエンド開発  >  PHP は暗号化サンプルコードに crypt() 関数を使用します

PHP は暗号化サンプルコードに crypt() 関数を使用します

怪我咯
怪我咯オリジナル
2017-07-13 14:50:361112ブラウズ

crypt() 関数は、DES、Blowfish、または MD5 アルゴリズムを使用して暗号化された文字列を返します。

この関数はオペレーティング システムごとに動作が異なり、一部のオペレーティング システムでは複数のアルゴリズム タイプがサポートされています。インストール時に、PHP はどのアルゴリズムが利用可能か、またどのアルゴリズムが使用されているかを確認します。

具体的なアルゴリズムは、salt パラメータの形式と長さによって異なります。 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。