轉(zhuǎn)義算法、摘要算法和加密算法

1. 轉(zhuǎn)義算法

轉(zhuǎn)義算法可以把一個字符轉(zhuǎn)換為另一個(組)字符苫费。
轉(zhuǎn)義算法有以下幾個特點:

  • 算法和字符映射表是公開的
  • 轉(zhuǎn)換操作是可逆的
  • 轉(zhuǎn)換后的數(shù)據(jù)長度和原文長度正相關(guān)汤锨。

常見的轉(zhuǎn)義算法有urlencode、base64百框。
其中urlencode主要對url編碼以解決url請求參數(shù)中的中文字符闲礼、特殊字符等的傳遞操作。而base64的應(yīng)用比較廣泛铐维,這種算法可以將任意形式的數(shù)據(jù)轉(zhuǎn)換為僅由64個字符組成的數(shù)據(jù)串柬泽。

有很多在線工具可以做編碼解碼操作,比如可以在這里做urlencode操作方椎,效果如下:

urlencode展示

需要注意的是聂抢,這里是對整個文本內(nèi)容進行了encode钧嘶,所以內(nèi)容中的:// 都被編碼了棠众,在實際使用時要按需進行轉(zhuǎn)換。

base64也有線上工具,比如這里闸拿,效果如下:

base64編碼展示

2. 摘要算法

摘要算法能把一組任意長度的數(shù)據(jù)映射到一個固定長度的數(shù)據(jù)上空盼。
摘要算法有以下特點:

  • 算法是公開的
  • 轉(zhuǎn)換操作是不可逆的
  • 轉(zhuǎn)換后的數(shù)據(jù)長度和原文長度無關(guān)
  • 摘要結(jié)果通常以16進制的形式表現(xiàn)

常見的摘要算法有MD5、SHA-1新荤、SHA-256等揽趾。

摘要算法主要用于文件內(nèi)容校驗,比如網(wǎng)站提供一個較大文件同時附上其MD5值(或其他摘要算法值)苛骨,用戶在下載完成后只需要對比一下本地文件的MD5值和網(wǎng)站上提供的是否一致篱瞎,就可以知道下載的問題是否有損壞了。

比如下面這樣的


Android Studio的下載頁面痒芝,提供了文件下載地址和用于校驗的SHA-256信息

值得注意的是俐筋,因為摘要長度是有限的,所以理論上會出現(xiàn)兩個數(shù)據(jù)的摘要結(jié)果相同的情況严衬。比如MD5的長度是32位16進制澄者,總數(shù)也就是2128個,那么如果有2128+1個文件求MD5请琳,那么必然有兩個文件的結(jié)果是一樣的粱挡。不過由于這個數(shù)據(jù)實在是太大了,所以可以忽略俄精。

2004年询筏,有人破解了MD5(論文在這里),但實際上他并不是通過MD5結(jié)果計算出了原文嘀倒,而是通過某種算法組合出了一組數(shù)據(jù)屈留,令其MD5結(jié)果和目標一致。

3. 加密算法

加密算法就是通過某種手段將原文轉(zhuǎn)換為密文测蘑。正常情況下灌危,沒有秘鑰是無法將密文還原成原文的。
加密算法有以下幾個特點:

  • 算法可以是公開的
  • 算法要和秘鑰配合使用碳胳,而秘鑰不是公開的
  • 轉(zhuǎn)換操作是可逆的勇蝙,但是必須使用秘鑰
  • 轉(zhuǎn)換后的長度和原文長度正相關(guān)

加密算法又分為對稱加密和非對稱加密,區(qū)別在于對稱加密中加密和解密的秘鑰是同一個挨约,而非對稱加密中加密和解密的秘鑰是不同的味混。

常見的對稱加密算法有AES、DES诫惭,非對稱加密算法有RSA翁锡、DSA等。

非對稱加密只能加密固定長度的數(shù)據(jù)且算法效率低(相對對稱加密而言)夕土,一般用于簽名校驗和秘鑰(用于對稱加密)傳遞的場景馆衔。

4. 簽名和驗簽

簽名不是一種算法瘟判,但是他用到了上面提到的摘要算法和非對稱加密算法。

簽名的意義在于告訴接收者數(shù)據(jù)確實是我的而不是別人偽造的角溃。(含義類似于消費時在刷卡單上簽名拷获。) 比如Google發(fā)布了一款A(yù)pp并對App進行了簽名,當用戶設(shè)備上下載了該App后减细,通過驗簽操作就可以確認這個App確實是Google發(fā)布的匆瓜。

下面我們看一下簽名和驗簽操作是如何進行的。

首先對原文做摘要計算未蝌,然后使用非對稱加密的私鑰進行加密驮吱。

簽名過程

然后當客戶拿到數(shù)據(jù)后,先對原文做摘要萧吠,并對密文進行解密(解密秘鑰是公鑰糠馆,任何人都能獲得),然后對比二者是否一致怎憋,如果一致則可以確認信息的來源又碌。


驗簽過程
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市绊袋,隨后出現(xiàn)的幾起案子毕匀,更是在濱河造成了極大的恐慌,老刑警劉巖癌别,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件皂岔,死亡現(xiàn)場離奇詭異,居然都是意外死亡展姐,警方通過查閱死者的電腦和手機躁垛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來圾笨,“玉大人教馆,你說我怎么就攤上這事±薮铮” “怎么了土铺?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長板鬓。 經(jīng)常有香客問我悲敷,道長,這世上最難降的妖魔是什么俭令? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任后德,我火速辦了婚禮,結(jié)果婚禮上抄腔,老公的妹妹穿的比我還像新娘瓢湃。我一直安慰自己窟赏,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布箱季。 她就那樣靜靜地躺著,像睡著了一般棍掐。 火紅的嫁衣襯著肌膚如雪藏雏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天作煌,我揣著相機與錄音掘殴,去河邊找鬼。 笑死粟誓,一個胖子當著我的面吹牛奏寨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鹰服,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼病瞳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了悲酷?” 一聲冷哼從身側(cè)響起套菜,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎设易,沒想到半個月后逗柴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體镀琉,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡瓜客,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拦止。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屠尊。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡旷祸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出讼昆,到底是詐尸還是另有隱情肋僧,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布控淡,位于F島的核電站嫌吠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏掺炭。R本人自食惡果不足惜辫诅,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望涧狮。 院中可真熱鬧炕矮,春花似錦么夫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至邢滑,卻和暖如春腐螟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背困后。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工乐纸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摇予。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓汽绢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親侧戴。 傳聞我的和親對象是個殘疾皇子宁昭,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

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