佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 如何給MD5加上salt隨機鹽值

如何給MD5加上salt隨機鹽值

熱門標(biāo)簽:智能手機 銀行業(yè)務(wù) 鐵路電話系統(tǒng) 美圖手機 呼叫中心市場需求 服務(wù)器配置 檢查注冊表項 網(wǎng)站文章發(fā)布

如何加點鹽(salt)?

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

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

     2).進行計算獲取MD5明文hash值

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

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

     5).得到最終的密文

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

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

注意:

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

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

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

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

總結(jié)

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

您可能感興趣的文章:
  • php md5下16位和32位的實現(xiàn)代碼
  • Python使用MD5加密字符串示例
  • jQuery MD5加密實現(xiàn)代碼
  • java實現(xiàn)md5加密示例
  • Md5密碼在線破解
  • 使用java獲取md5值的兩種方法
  • PHP中MD5函數(shù)使用實例代碼
  • php 的加密函數(shù) md5,crypt,base64_encode 等使用介紹
  • Python的加密模塊md5、sha、crypt使用實例
  • Java生成MD5加密字符串代碼實例

標(biāo)簽:滄州 長治 上海 沈陽 樂山 紅河 河南 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何給MD5加上salt隨機鹽值》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    台东市| 林甸县| 永兴县| 综艺| 昌宁县| 梅州市| 大连市| 措美县| 峡江县| 综艺| 永丰县| 双流县| 郴州市| 滨州市| 湄潭县| 深泽县| 宣武区| 西昌市| 邢台市| 东丽区| 台安县| 涿州市| 沁源县| 会宁县| 大宁县| 甘德县| 梧州市| 九江市| 湟源县| 松阳县| 东宁县| 名山县| 阳曲县| 鄱阳县| 西城区| 抚州市| 思茅市| 唐山市| 二连浩特市| 冕宁县| 达尔|