最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何給MD5加上salt隨機(jī)鹽值

 更新時(shí)間:2016年11月25日 11:14:41   投稿:daisy  
不知道大家知不知道,在開發(fā)的時(shí)候如果直接給密碼散列,黑客可以通過查散列值字典(例如MD5密碼破解網(wǎng)站),得到某用戶的密碼。但如果加上salt后就會(huì)難上很多,即便是你獲得了其中的salt和最終密文,破解也是相當(dāng)麻煩的。下面跟著小編通過這篇文章來一起學(xué)習(xí)學(xué)習(xí)吧。

如何加點(diǎn)鹽(salt)?

為了加強(qiáng)MD5的安全性,從而加入了新的算法部分即加鹽值,加鹽值是隨機(jī)生成的一組字符串,可以包括隨機(jī)的大小寫字母、數(shù)字、字符,位數(shù)可以根據(jù)要求而不一樣,使用不同的加鹽值產(chǎn)生的最終密文是不一樣的:

     1).首先我們得到的是明文的hash值

     2).進(jìn)行計(jì)算獲取MD5明文hash值

     3).隨機(jī)生成加鹽值并插入

     4).MD5插入加鹽值得到的hash

     5).得到最終的密文

看一個(gè)簡單的加salt函數(shù):

/**
 * MD5加SALT函數(shù)
 * by http://www.phpddt.com
 */
function do_hash($psw) {
  $salt = 'fdsafagfdgv43532ju76jM'; //定義一個(gè)salt值,最好夠長,或者隨機(jī)
  return md5($psw . $salt); //返回加salt后的散列
}

注意:

如果你是隨機(jī)生成salt值就得放入數(shù)據(jù)庫,不要用time()時(shí)間戳啥的,那樣別人不就可以枚舉了嘛,如果你嫌麻煩,可以配置一個(gè)復(fù)雜的salt值,如上,兩種方法各有優(yōu)點(diǎn)。

另一種復(fù)雜點(diǎn)加密方法:

function PassCrypt($ManagerPassword)
{
$ManagerPassword=md5($ManagerPassword);
$Salt=substr($ManagerPassword,-1,3);
$ManagerPassword=crypt($ManagerPassword,$Salt);
Return $ManagerPassword;
}

這樣先把密碼用MD5加密,然后截取其結(jié)果的一段,再用crypt加密,因?yàn)檫@兩個(gè)加密函數(shù)都是單向的,所以就沒有人能破解的了了,而且加密后的最終密碼是13位的,無論誰拿到手都不知道該怎么破解了,在密碼驗(yàn)證時(shí)只需要將原始密碼用加密函數(shù)再加密一編進(jìn)行匹配就行了。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • win7/win10+vs2015+pcl1.8.0配置方案詳解

    win7/win10+vs2015+pcl1.8.0配置方案詳解

    這篇文章主要介紹了win7/win10+vs2015+pcl1.8.0詳細(xì)配置方案,本文通過圖文并茂的形式給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 網(wǎng)站被等惡意鏡像的解決、反制措施詳細(xì)教程

    網(wǎng)站被等惡意鏡像的解決、反制措施詳細(xì)教程

    這篇文章主要介紹了網(wǎng)站被等惡意鏡像的解決、反制措施詳細(xì)教程,需要的朋友可以參考下
    2016-10-10
  • VSCode實(shí)現(xiàn)文件嵌套功能的完全指南

    VSCode實(shí)現(xiàn)文件嵌套功能的完全指南

    你是否厭倦了在VSCode中面對滿屏的配置文件、測試文件或編譯產(chǎn)物?是否曾因查找關(guān)聯(lián)文件而頻繁滾動(dòng)資源管理器?**文件嵌套(File?Nesting)功能正是解決這一痛點(diǎn)的利器!本文將手把手教你如何通過VSCode的虛擬路徑管理技術(shù),需要的朋友可以參考下
    2025-04-04
  • VSCode設(shè)置默認(rèn)瀏覽器打開的兩種方式

    VSCode設(shè)置默認(rèn)瀏覽器打開的兩種方式

    在使用vscode編輯器的時(shí)候,如果我們不設(shè)置默認(rèn)瀏覽器,那么直接打開的是IE瀏覽器,在進(jìn)行頁面調(diào)試的時(shí)候無疑是有點(diǎn)麻煩的,這篇文章主要給大家介紹了關(guān)于VSCode設(shè)置默認(rèn)瀏覽器打開的兩種方式,需要的朋友可以參考下
    2023-09-09
  • ChatGPT如何寫好Prompt編程示例詳解

    ChatGPT如何寫好Prompt編程示例詳解

    這篇文章主要為大家介紹了ChatGPT如何寫好Prompt編程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 關(guān)于圖片存儲(chǔ)格式的整理(BMP格式介紹)

    關(guān)于圖片存儲(chǔ)格式的整理(BMP格式介紹)

    BMP文件的圖像深度可選lbit、4bit、8bit及24bit。BMP文件存儲(chǔ)數(shù)據(jù)時(shí),圖像的掃描方式是按從左到右、從下到上的順序。由于BMP文件格式是Windows環(huán)境中交換與圖有關(guān)的數(shù)據(jù)的一種標(biāo)準(zhǔn),因此在Windows環(huán)境中運(yùn)行的圖形圖像軟件都支持BMP圖像格式
    2016-01-01
  • Node后端Express框架安裝及應(yīng)用

    Node后端Express框架安裝及應(yīng)用

    Express 是一個(gè)簡潔而靈活的 node.js Web應(yīng)用框架, 提供了一系列強(qiáng)大特性幫助你創(chuàng)建各種 Web 應(yīng)用和豐富的 HTTP 工具,如果你不會(huì)jJava or Python等后端,使用 Express可以幫助我們快速地搭建一個(gè)完整功能的網(wǎng)站
    2021-08-08
  • git提交出現(xiàn)commit提醒信息界面怎樣退出

    git提交出現(xiàn)commit提醒信息界面怎樣退出

    這篇文章主要介紹了git提交出現(xiàn)commit提醒信息界面怎樣退出問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 關(guān)于HTTPS的加密流程詳解

    關(guān)于HTTPS的加密流程詳解

    這篇文章主要介紹了關(guān)于HTTPS的加密流程詳解,http是為了解決http存在的問題而在http基礎(chǔ)上加入了SSL/TSL,在HTTP/2中TCP三次握手后會(huì)進(jìn)入SSL/TSL握手,當(dāng)SSL/TSL建立鏈接后,才會(huì)進(jìn)行報(bào)文的傳輸,需要的朋友可以參考下
    2023-07-07
  • Git 教程之遠(yuǎn)程倉庫詳解

    Git 教程之遠(yuǎn)程倉庫詳解

    本文主要介紹Git 遠(yuǎn)程倉庫的知識(shí),這里整理了相關(guān)資料,及命令詳解,圖文并茂的介紹該部分內(nèi)容,有需要的小伙伴可以參考下
    2016-09-09

最新評論

都昌县| 安庆市| 晋城| 子洲县| 株洲县| 阳信县| 三原县| 谢通门县| 桃源县| 弥勒县| 吐鲁番市| 卓尼县| 什邡市| 华阴市| 宁乡县| 扎兰屯市| 常熟市| 札达县| 古浪县| 双峰县| 东山县| 南皮县| 格尔木市| 柘城县| 延边| 焦作市| 千阳县| 龙井市| 临桂县| 湘西| 仙游县| 和田市| 九江县| 芦山县| 安新县| 老河口市| 永寿县| 土默特左旗| 贵定县| 外汇| 昆山市|