laravel數據庫密碼加密和解密


1.創建加密路由

      //加密算法
      Route::get('admin/jiami','Admin\LoginController@jiami');

2.創建加密控制器方法

    public function jiami()
    {
    }

3.md5加密

  • md5加密算法
    //md5加密算法
    public function jiami()
    {
        //md5加密,生成一個32位的字符
        $str = '123456';
        return md5($str);
    }
  • 頁面顯示:
      e10adc3949ba59abbe56e057f20f883e
  • md5加密一般加鹽值:
    $str = 'salt'.'123456';
      salt為自定義的鹽值

4.哈希加密

  • 哈希加密
    public function jiami()
    {
        //哈希加密
        $str = '123456';
  //Hash的make方法用來給字符串加密
        return Hash::make($str);        
    }
  • 頁面顯示:
      $2y$10$JTlLYvlfA0IO.0G36VQ/5.gFk56kBRr5zDo9VpXORfhpCXwVs7Dhm
  • 每次刷新頁面,每次生成的字符串都不同
  • 如何判斷用戶輸入的密碼和數據庫中的密碼相同
   //Hash::check(需要驗證的字符串,數據庫中取出來的加密的字符串)
            $str = '123456';
            $hash = Hash::make($str);
   //Hash的check方法用來對未加密的密碼和已加密的密碼進行比較
            if(Hash::check($str,$hash)){
                return '密碼正確';
            }else{
                return '密碼錯誤';
            }

5.crypt加密

  • crypt加密
    public function jiami()    {
   // crypt加密,生成255位字符串
            $str = '123456';
   //Crypt的encrypt方法用來加密字符串
            $crypt_str = Crypt::encrypt($str);
            return $crypt_str;    
    }
  • 頁面顯示:
eyJpdiI6IkRZRHZ0cjI0cTR5cVBsVHBCTlNFWmc9PSIsInZhbHVlIjoicGxIaFd1d2tVK08yRkw0NFdlQ3liZz09IiwibWFjIjoiNjhiYmQ3ZTQ2ZmY4ZTY5YTdmZTgwZDdjZDdhN2RlMjY1ZDUxMzcyN2Q3NzYyYmE0MDA0YWQwY2IyMzc2Yjg4MCJ9
  • crypt解密
$str = '123456';                          $crypt_str='eyJpdiI6IkRZRHZ0cjI0cTR5cVBsVHBCTlNFWmc9PSIsInZhbHVlIjoicGxIaFd1d2tVK08yRkw0NFdlQ3liZz09IiwibWFjIjoiNjhiYmQ3ZTQ2ZmY4ZTY5YTdmZTgwZDdjZDdhN2RlMjY1ZDUxMzcyN2Q3NzYyYmE0MDA0YWQwY2IyMzc2Yjg4MCJ9';

//Crypt的decrypt方法用來解密字符串
if (Crypt::decrypt($crypt_str) == $str) {
   return '密碼正確';
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM