站長資訊網
        最全最豐富的資訊網站

        在PHP中實現加密的這三種方法,你會選擇哪個?

        你知道在PHP中怎么實現加密算法嗎?你知道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視頻教程》!

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久免费精品一区二区| 精品久久人人做人人爽综合| 亚洲精品理论电影在线观看| 亚洲综合精品网站| 99久re热视频这里只有精品6| 精品欧洲AV无码一区二区男男| 久久久无码精品午夜| 亚洲欧美精品伊人久久| 97国产精品视频| 久久夜色精品国产噜噜麻豆 | 国产a精品视频| 日韩精品无码一区二区中文字幕| 毛片a精品**国产| 国产精品小视频免费无限app| 久久99国产精品久久99果冻传媒| 国产乱人伦偷精品视频AAA| 一本久久a久久精品亚洲| 欧美国产成人精品一区二区三区 | 精品成人免费自拍视频| 精品久久久久久久无码| 久久久一本精品99久久精品88| 影院无码人妻精品一区二区| 日韩在线精品一二三区| 欧美日韩综合精品| 麻豆精品视频在线观看91| 精品国产免费人成网站| 国产农村妇女毛片精品久久| 国产高清在线精品一本大道国产| 91精品国产色综久久| 白浆都出来了视频国产精品| 久久九九青青国产精品| 久久99国产精品久久| 在线人成精品免费视频| 国产精品 视频一区 二区三区| 国产91精品一区二区麻豆亚洲| 91精品国产福利在线观看麻豆| 国产成人精品免费大全| 国产精品原创巨作?v网站| 国内精品视频九九九九| 欧美日韩精品系列一区二区三区国产一区二区精品 | 久久国产午夜精品一区二区三区|