MairaDB 函數(shù)(六)

MD5主要用途:

1、對一段信息生成信息摘要,該摘要對該信息具有唯一性,可以作為數(shù)字簽名。

2、用于驗證文件的有效性(是否有丟失或損壞的數(shù)據(jù)),

3、對用戶密碼的加密,

4、在哈希函數(shù)中計算散列值

MD5是沒有解密算法的,經(jīng)常用來作為對賬號密碼的驗證。驗證的一般流程為:

1.注冊賬號密碼時對密碼進(jìn)行MD5加密,賬號明文存入數(shù)據(jù)庫,密碼存入的是經(jīng)過MD5加密的密文。

2.登錄時先根據(jù)賬號,在數(shù)據(jù)庫進(jìn)行檢測。

3.檢測到賬號后對本次登錄輸入的密碼進(jìn)行MD5加密,拿本次密文與數(shù)據(jù)庫里的密文進(jìn)行驗證。通過后即可成功登錄

ENCRYPT加密

ENCRYPT(str, salt);使用UNIX crypt()函數(shù),用關(guān)鍵詞salt加密字符串str

Salt可以是任意字母、數(shù)字、或是字母或數(shù)字的組合,但必須是隨機(jī)產(chǎn)生的,每個用戶的Salt都不一樣,用戶注冊的時候,數(shù)據(jù)庫中存入的不是明文密碼,也不是簡單的對明文密碼進(jìn)行散列,而是MD5(明文密碼+ Salt),也就是說:

1. MD5('123' + '1ck12b13k1jmjxrg1h0129h2lj')= '6c22ef52be70e11b6f3bcf0f672c96ce'

2.MD5('456'+'1h029kh2lj11jmjxrg13k1c12b')= '7128f587d88d6686974d6ef57c193628'

當(dāng)用戶登陸的時候,同樣用這種算法就行驗證。

由于加了Salt,即便數(shù)據(jù)庫泄露了,但是由于密碼都是加了Salt之后的散列,別人的數(shù)據(jù)字典已經(jīng)無法直接匹配,明文密碼被破解出來的概率也大大降低。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 本文主要介紹移動端的加解密算法的分類、其優(yōu)缺點(diǎn)特性及應(yīng)用,幫助讀者由淺入深地了解和選擇加解密算法。文中會包含算法的...
    蘋果粉閱讀 11,553評論 5 29
  • 去看了《六弄咖啡館》,是部好電影。 因為政治的緣故,票房不佳。 雖然戴立忍的戲份已被刪除,但還是少有人去看。 可惜...
    迷糊的謎閱讀 472評論 0 1
  • 公交車搖搖晃晃,狹窄而擁擠,可你別看,這里卻也將人性揭露的一清二楚。看懂眾生而憐憫眾生,是佛祖的慈悲。我沒有那么大...
    君子安雅閱讀 467評論 1 1
  • 高叉泳裝魔王閱讀 153評論 0 0