哈希與加密算法

常見的加密算法可以分成三類,對稱加密算法夸溶,非對稱加密算法和Hash算法苟穆。

(1)對稱加密
指加密和解密使用相同密鑰的加密算法甲喝。對稱加密算法的優(yōu)點在于加解密的高速度和使用長密鑰時的難破解性。假設兩個用戶需要使用對稱加密方法加密然后交換數(shù)據愧旦,則用戶最少需要2個密鑰并交換使用世剖,如果企業(yè)內用戶有n個,則整個企業(yè)共需要n×(n-1) 個密鑰笤虫,密鑰的生成和分發(fā)將成為企業(yè)信息部門的惡夢旁瘫。對稱加密算法的安全性取決于加密密鑰的保存情況,但要求企業(yè)中每一個持有密鑰的人都保守秘密是不可能的琼蚯,他們通常會有意無意的把密鑰泄漏出去——如果一個用戶使用的密鑰被入侵者所獲得酬凳,入侵者便可以讀取該用戶密鑰加密的所有文檔,如果整個企業(yè)共用一個加密密鑰遭庶,那整個企業(yè)文檔的保密性便無從談起宁仔。

常見的對稱加密算法:DES、3DES峦睡、DESX翎苫、Blowfish、IDEA榨了、RC4煎谍、RC5、RC6和AES

(2)非對稱加密
指加密和解密使用不同密鑰的加密算法龙屉,也稱為公私鑰加密呐粘。假設兩個用戶要加密交換數(shù)據,雙方交換公鑰,使用時一方用對方的公鑰加密事哭,另一方即可用自己的私鑰解密漫雷。如果企業(yè)中有n個用戶,企業(yè)需要生成n對密鑰鳍咱,并分發(fā)n個公鑰降盹。由于公鑰是可以公開的,用戶只要保管好自己的私鑰即可谤辜,因此加密密鑰的分發(fā)將變得十分簡單蓄坏。同時,由于每個用戶的私鑰是唯一的丑念,其他用戶除了可以可以通過信息發(fā)送者的公鑰來驗證信息的來源是否真實涡戳,還可以確保發(fā)送者無法否認曾發(fā)送過該信息。非對稱加密的缺點是加解密速度要遠遠慢于對稱加密脯倚,在某些極端情況下渔彰,甚至能比非對稱加密慢上1000倍。

常見的非對稱加密算法:RSA推正、ECC(移動設備用)恍涂、Diffie-Hellman、El Gamal植榕、DSA(數(shù)字簽名用)

(3)Hash算法
Hash算法特別的地方在于它是一種單向算法再沧,用戶可以通過Hash算法對目標信息生成一段特定長度的唯一的Hash值,卻不能通過這個Hash值重新獲得目標信息尊残。因此Hash算法常用在不可還原的密碼存儲炒瘸、信息完整性校驗等。

特點:

  • 哈希(Hash)是將目標文本轉換成具有相同長度的寝衫、不可逆的雜湊字符串(或叫做消息摘要)顷扩,而加密(Encrypt)是將目標文本轉換成具有不同長度的、可逆的密文竞端。
  • Hash算法無論輸入的源數(shù)據的長度是多少屎即,同一種Hash算法轉換后結果的長度都相同。

常見的Hash算法:MD2事富、MD4技俐、MD5、HAVAL统台、SHA雕擂、SHA-1、HMAC贱勃、HMAC-MD5井赌、HMAC-SHA1

問一問谤逼,答一答

1、為什么Hash算法是不可逆仇穗?

這里的不可逆既指不能根據轉換后的結果逆轉回原文流部,也指對于兩個輸入,即使其轉換結果相同也不能說這兩個輸入就一定相同纹坐。

因為枝冀,Hash算法的定義域是一個無限集合,但是值域確是一個有限集合耘子,將一個無限集合映射到有限集合上果漾,根據“鴿籠原理”,每個哈希結果都存在無數(shù)個可能的目標文本谷誓,因此哈希是一個多對一的映射绒障,所以它也不存在逆映射。

但是對于其他加密算法捍歪,它的結果往往取決于輸入户辱,其定義域和值域都是無限集合,明顯是一個一一映射糙臼,對于一一映射焕妙,理論上都是可逆的。

2弓摘、對于Hash算法和加解密算法一般情況下我們是如何選擇的呢?

基本原則是:如果被保護數(shù)據僅僅用作比較驗證痕届,在以后不需要還原成明文形式韧献,則使用哈希;如果被保護數(shù)據在以后需要被還原成明文研叫,則需要使用加密锤窑。

如一般情況下,幾乎所有的注冊用戶時我們輸入的密碼都是使用Hash算法進行加密然后將其保存在數(shù)據庫中的嚷炉。當我們登錄時渊啰,輸入我們的密碼,然后通過Hash運算申屹,將運算結果與數(shù)據庫中存儲的結果比較绘证,相同的話就登錄,不同的話就代表密碼錯誤哗讥,需要重新輸入嚷那。

3、那么該如何進一步的加強hash算法的安全性呢杆煞?

可以使用如下的辦法:

1)hash+鹽(salt)

salt可以簡單的理解成:隨機產生的一定長度的魏宽,可以和密碼相結合腐泻,從而使hash算法產生不同結果的字符串。也就相當于你的新密碼 = 舊密碼 + 隨機的鹽值队询,然后對新密碼進行hash派桩。

優(yōu)點:這種方法會極大防止受到彩虹表的攻擊,因為即便攻擊者構造出彩虹表蚌斩,因為你使用了 hash(密碼+ salt)铆惑,攻擊者彩虹表里的哈希值(hash(密碼))和你數(shù)據庫中的哈希值是不同的。

缺點: 如果攻擊者知道了salt和你的哈希值凳寺,就可以計算出你的原始密碼(當然也沒有那么容易)

2)增加計算的時間 (哈希 + salt + Iteration)

通過迭代計算的方式增加計算密碼的成本鸭津。迭代的周期控制在用戶可以接受范圍內,這樣攻擊者的計算和時間成本就會大大增加肠缨。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末逆趋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子晒奕,更是在濱河造成了極大的恐慌闻书,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脑慧,死亡現(xiàn)場離奇詭異魄眉,居然都是意外死亡,警方通過查閱死者的電腦和手機闷袒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門坑律,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人囊骤,你說我怎么就攤上這事晃择。” “怎么了也物?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵宫屠,是天一觀的道長。 經常有香客問我滑蚯,道長浪蹂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任告材,我火速辦了婚禮坤次,結果婚禮上,老公的妹妹穿的比我還像新娘斥赋。我一直安慰自己浙踢,他們只是感情好,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布灿渴。 她就那樣靜靜地躺著洛波,像睡著了一般胰舆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蹬挤,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天缚窿,我揣著相機與錄音,去河邊找鬼焰扳。 笑死倦零,一個胖子當著我的面吹牛,可吹牛的內容都是我干的吨悍。 我是一名探鬼主播扫茅,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼育瓜!你這毒婦竟也來了葫隙?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤躏仇,失蹤者是張志新(化名)和其女友劉穎恋脚,沒想到半個月后哥牍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體竟坛,經...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡班套,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年丐枉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啼县。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡膜宋,死狀恐怖吻育,靈堂內的尸體忽然破棺而出躲履,到底是詐尸還是另有隱情灿意,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布崇呵,位于F島的核電站,受9級特大地震影響馅袁,放射性物質發(fā)生泄漏域慷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一汗销、第九天 我趴在偏房一處隱蔽的房頂上張望犹褒。 院中可真熱鬧,春花似錦弛针、人聲如沸叠骑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宙枷。三九已至掉房,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間慰丛,已是汗流浹背卓囚。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留诅病,地道東北人哪亿。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像贤笆,于是被迫代替她去往敵國和親蝇棉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內容