部分加解密算法小結

部分加密算法簡單介紹

      1.對稱加密使用相同密鑰加密解密。

         對稱加密算法DESAES等


      2.非對稱加密:加密解密使用不同密鑰

           代表算法:RSA

           RSA加密算法加密解密使用不同的密鑰,可以用於加密和認證。

          加密:公鑰負責加密,私鑰負責解密。

         認證:私鑰負責簽名,公鑰負責驗證。

         認證原理:

                   

     3.摘要算法

         代表算法:MD5 、SHA算法等

         MD5:    輸入任意長度的原文字符串,返回128位的加密數據。(不可逆)

       SHA1:輸入任意長度的原文字符串,返回160位的加密數據。(不可逆)

        典型應用:

                  1.加密用戶密碼

                  2.網上下載大文件的時候,會提供文件的MD5值,用戶在下載後可以在下載文件的基礎上計算MD5值,如果和提供的MD5相同,

         說明沒有損壞或修改。MD5只針對文件內容,文件名改變後不影響MD5數值)

      3.判斷圖片是否重複

        使用消息摘要技術(MD5SHA)。通過比較圖片產生的固定長度字符串,判斷圖片是否相等(如果兩兩圖片都比較每個像素,計算量太大)。

   密碼加鹽:密碼很短的話,黑客可以利用彩虹表(枚舉所有密碼組合的加密值)反推出密碼,可以在短密碼後加上一端很長的字符再計算md5加上的字符稱爲鹽。

                   加鹽例子如:Md5( md5(password) + salt)    sha1( sha1(password) + salt)

     

CRC-32(循環冗餘檢驗)輸入任意長度的數據,返回32位的檢驗和

應用舉例:

檢測數據損壞:在數據第一次引入系統時計算檢驗和,在數據通過一個不可靠通道傳輸時再次計算檢驗和,如果新檢驗和和原檢驗和不相等,則認爲數據損壞,該方法只能檢測錯誤,不能修復數據。檢驗和也可能損壞,但檢驗和比數據小的多,損壞可能性非常小。、


比較兩篇文章的相似度?與上面的對比

答:1.對文章分詞,建立特徵向量,計算特徵向量之間的距離(歐氏距離、海明距離、夾角餘弦)。但海量數據,兩兩計算量太大。

    2.simhash.  內容越相同,simhash越相似

A.分詞   得到特徵向量()和權重

B.Hash   計算各個特徵向量的hash

C.加權   對所有特徵向量加權,hash值二進制爲1的變爲weight,爲0的變爲-weight

D.合併   將各個特徵向量的加權結果累加

E.降維   累加結果大於0的置1,否則置0,得到simhash簽名

64simhash值,海明距離<=3可認爲相似度比較高。將64位二進制均分成4塊,如果兩個簽名海明距離<=3,必有一塊完全相等。對4塊分別建立倒排索引,只和四塊中的比較。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章