• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            什么是MD5&CRC驗(yàn)證文件

            MD5的全稱是Message-Digest Algorithm 5,在90年代初由MIT的計(jì)算機(jī)科學(xué)實(shí)驗(yàn)室和RSA Data Security Inc發(fā)明,經(jīng)MD2、MD3和MD4發(fā)展而來。
            Message-Digest泛指字節(jié)串(Message)的Hash變換,就是把一個(gè)任意長度的字節(jié)串變換成一定長的大整數(shù)。請(qǐng)注意我使用了“字節(jié)串”而不是“字符串”這個(gè)詞,是因?yàn)檫@種變換只與字節(jié)的值有關(guān),與字符集或編碼方式無關(guān)。
            MD5將任意長度的“字節(jié)串”變換成一個(gè)128bit的大整數(shù),并且它是一個(gè)不可逆的字符串變換算法,換句話說就是,即使你看到源程序和算法描述,也無法將一個(gè)MD5的值變換回原始的字符串,從數(shù)學(xué)原理上說,是因?yàn)樵嫉淖址袩o窮多個(gè),這有點(diǎn)象不存在反函數(shù)的數(shù)學(xué)函數(shù)。
            MD5的典型應(yīng)用是對(duì)一段Message(字節(jié)串)產(chǎn)生fingerprint(指紋),以防止被“篡改”。舉個(gè)例子,你將一段話寫在一個(gè)叫 readme.txt文件中,并對(duì)這個(gè)readme.txt產(chǎn)生一個(gè)MD5的值并記錄在案,然后你可以傳播這個(gè)文件給別人,別人如果修改了文件中的任何內(nèi)容,你對(duì)這個(gè)文件重新計(jì)算MD5時(shí)就會(huì)發(fā)現(xiàn)(兩個(gè)MD5值不相同)。如果再有一個(gè)第三方的認(rèn)證機(jī)構(gòu),用MD5還可以防止文件作者的“抵賴”,這就是所謂的數(shù)字簽名應(yīng)用。


            在串行傳送(磁盤、通訊)中,廣泛采用循環(huán)冗余校驗(yàn)碼(CRC)。CRC也是給信息碼加上幾位校驗(yàn)碼,以增加整個(gè)編碼系統(tǒng)的碼距和查錯(cuò)糾錯(cuò)能力。

            CRC的理論很復(fù)雜,一般書上只介紹已有生成多項(xiàng)式后計(jì)算校驗(yàn)碼的方法。檢錯(cuò)能力與生成多項(xiàng)式有關(guān),只能根據(jù)書上的結(jié)論死記。

            循環(huán)冗余校驗(yàn)碼(CRC)的基本原理是:在K位信息碼后再拼接R位的校驗(yàn)碼,整個(gè)編碼長度為N位,因此,這種編碼又叫(N,K)碼。對(duì)于一個(gè)給定的(N,K)碼,可以證明存在一個(gè)最高次冪為N-K=R的多項(xiàng)式G(x)。根據(jù)G(x)可以生成K位信息的校驗(yàn)碼,而G(x)叫做這個(gè)CRC碼的生成多項(xiàng)式。

            校驗(yàn)碼的具體生成過程為:假設(shè)發(fā)送信息用信息多項(xiàng)式C(X)表示,將C(x)左移R位,則可表示成C(x)*2R,這樣C(x)的右邊就會(huì)空出R位,這就是校驗(yàn)碼的位置。通過C(x)*2R除以生成多項(xiàng)式G(x)得到的余數(shù)就是校驗(yàn)碼。

            posted on 2008-07-08 12:09 肥仔 閱讀(471) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++ 基礎(chǔ)

            国产精品99久久久久久宅男小说| 婷婷伊人久久大香线蕉AV| 精品国产福利久久久| 色偷偷888欧美精品久久久| 国产呻吟久久久久久久92| 久久久免费观成人影院| 久久人人爽人人爽人人片av麻烦| 久久精品中文闷骚内射| 亚洲欧美精品伊人久久| 日本五月天婷久久网站| 久久精品成人国产午夜| 亚洲精品乱码久久久久久蜜桃 | 一本大道加勒比久久综合| 久久精品国产福利国产琪琪| 亚洲午夜久久久久妓女影院 | 久久99久久成人免费播放| 性高湖久久久久久久久AAAAA| 久久综合噜噜激激的五月天| 国内精品久久久久久中文字幕| 久久久无码精品亚洲日韩京东传媒 | 免费一级欧美大片久久网| 精品无码久久久久久午夜| 久久99这里只有精品国产| 91精品国产综合久久香蕉| 久久精品国产清高在天天线| 久久伊人色| 久久婷婷人人澡人人| 国产精品激情综合久久| 国内精品久久九九国产精品| 精品人妻伦九区久久AAA片69| 久久精品国产72国产精福利| 国产ww久久久久久久久久| 麻豆精品久久久一区二区| 久久99精品国产99久久6男男| 亚洲va中文字幕无码久久| 国产成人无码精品久久久性色 | 亚洲级αV无码毛片久久精品| 久久久久国产| 久久强奷乱码老熟女网站| 精品久久综合1区2区3区激情| 国产99久久久国产精免费|