91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在PHP中實現加密的方法有哪些

發布時間:2021-08-21 09:46:55 來源:億速云 閱讀:118 作者:chen 欄目:編程語言

這篇文章主要講解了“在PHP中實現加密的方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“在PHP中實現加密的方法有哪些”吧!

首先我來簡單介紹一下為什么要加密?

通常,當數據在傳送時,數據最容易受到攻擊,那么加密就是對信息進行編碼的過程,以便對未經授權的用戶保持隱藏。它能確保私有數據、敏感數據,并可以提高客戶端應用程序和服務器之間通信的安全性。

下面就給大家介紹PHP中最常用的三個加密函數,分別是md5()crypt()password_hash()

一:使用 md5() 加密

md5()函數可以計算字符串的 MD5 散列,它是最常用的加密方法;

md5函數的語法為:

md5(string,raw)

其中string是要加密的字符串;row是可選參數,它指定輸出格式(十六進制或二進制輸出格式),可以是TRUE,也可以是FALSE,默認為FALSE(32字符十六進制數)。

使用示例:

加密密碼值并存儲在數據庫中。

 <?php
 $conn = new mysqli('hostname', 'username', 'password', 'databasename');
 $pwd = $_POST['password'];
 $encrypted_pwd = md5($pwd);
 $username = $_POST['username']; 
 $insert ="INSERT into an_users (id, username, password) 
 VALUES  ('', '$username', '$encrypted_pwd')";
 if($conn->query($insert)){
  echo 'Data inserted successfully';
 }
 else{
  echo 'Error '.$conn->error;  
 }
?>

二、使用 crypt() 加密密碼

crypt函數的作用是使用salt返回一個散列字符串。此方法生成弱密碼,它為salt接受第二個參數,這是一個可選參數;salt是一個格式化字符串,它告訴crypt()方法使用哪種算法進行散列;

其語法是:

crypt($string, $salt);

有很多salt常量,但這里我使用了CRYPT_MD5,這將生成 12 個字符的salt。

代碼如下:

<?php
  $conn = new mysqli('hostname', 'username', 'password', 'databasename');
  $pwd = $_POST['password'];
  if(CRYPT_MD5 == 1) {
      $encrypted_pwd = crypt($pwd, '$12$hrd$reer');
  }
  $username = $_POST['username'];
  $insert = "INSERT INTO  an_users (id, username, password) 
		  VALUES('', '$username', '$encrypted_pwd')";
  if($conn->query($insert)){
	echo 'Data inserted successfully';
  }
  else{
	echo 'Error '.$conn->error;  
  }
?>

附:

在PHP中實現加密的方法有哪些

三:使用 password_hash() 加密密碼

password_hash()使用足夠強度的單向散列算法創建一個新的密碼散列,password_hash()函數與crypt()函數兼容,它在PHP 5.1中實現。

password_hash()的語法是 :

password_hash(string, algorithm, options)

其中string是要加密的字符串,algorithm表示對密碼進行哈希處理時使用的算法,options是包含選項的關聯數組。

使用示例如下:

使用password_hash()加密密碼值并存儲在數據庫中:

<?php
// 連接數據庫
 $conn = new mysqli('hostname', 'username', 'password', 'databasename');

 $pwd = $_POST['password'];

// 使用PASSWORD_DEFAULT
$hash = password_hash($pwd,  
          PASSWORD_DEFAULT); 
$username = $_POST['username']; 

$insert ="INSERT into an_users (id, username, password) 
 VALUES  ('', '$username', '$hash')";

if($conn->query($insert)){
  echo 'Data inserted successfully';
}
 else{
  echo 'Error '.$conn->error;  
}
?>

感謝各位的閱讀,以上就是“在PHP中實現加密的方法有哪些”的內容了,經過本文的學習后,相信大家對在PHP中實現加密的方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

广丰县| 遂川县| 海伦市| 渑池县| 东平县| 十堰市| 东城区| 犍为县| 绥棱县| 康定县| 新安县| 正安县| 侯马市| 招远市| 西林县| 同德县| 和龙市| 酒泉市| 塘沽区| 桦南县| 榆社县| 屯留县| 卓尼县| 临猗县| 四子王旗| 上饶县| 芜湖市| 松原市| 奈曼旗| 青铜峡市| 博乐市| 南郑县| 岳阳县| 慈溪市| 兰州市| 江永县| 吉林省| 眉山市| 汉沽区| 临汾市| 吉木萨尔县|