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

        在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號
        主站蜘蛛池模板: 日韩欧精品无码视频无删节| 精品国精品国产自在久国产应用| 亚洲精品无码日韩国产不卡?V | 精品久久久久国产免费| 精品久久久久久无码专区| 久久国产精品偷99| 亚洲国产精品不卡在线电影| 99re热视频这里只精品| 在线观看亚洲精品国产| 国产精品第一区第27页| 国产亚洲欧洲精品| 久久精品国产亚洲AV无码麻豆| 欧美精品成人3d在线| 国产精品一区12p| 中文精品一卡2卡3卡4卡| 91精品美女在线| 久久精品国产精品亚洲毛片| 日韩精品一二三四区| 国产亚洲精品无码拍拍拍色欲| 亚洲国产精品免费视频| 老司机99精品99| 久久成人影院精品777| 国产精品免费福利久久| 午夜精品射精入后重之免费观看| 手机日韩精品视频在线看网站| 国产精品毛片一区二区| 亚洲国产精品成| 亚洲欧美日韩精品永久在线| 成人国产精品一区二区网站| 久久99精品久久久久久动态图| 四虎国产成人永久精品免费| 亚洲综合精品香蕉久久网| 午夜精品久久久内射近拍高清| 美女岳肉太深了使劲国产精品亚洲专一区二区三区 | 国产精品国产三级国产av品爱网 | 日本精品久久久久影院日本| 精品欧美一区二区在线观看 | 亚洲国产另类久久久精品| 亚洲精品国产精品乱码在线观看 | 国产视频精品免费视频| 精品亚洲欧美无人区乱码|