第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我應(yīng)該選擇哪個加密哈希函數(shù)? 問問題

我應(yīng)該選擇哪個加密哈希函數(shù)? 問問題

慕田峪4524236 2019-11-22 13:07:04
.NET框架附帶6種不同的哈希算法:MD5:16個字節(jié)(散列時間500MB:1462毫秒)SHA-1:20個字節(jié)(1644毫秒)SHA256:32個字節(jié)(5618毫秒)SHA384:48個字節(jié)(3839毫秒)SHA512:64個字節(jié)(3820毫秒)RIPEMD:20個字節(jié)(7066 ms)這些功能中的每個功能都有不同。MD5是最快的,而RIPEMD是最慢的。MD5的優(yōu)點是適合內(nèi)置的Guid類型。它是類型3 UUID的基礎(chǔ)。SHA-1哈希是類型5 UUID的基礎(chǔ)。這使得它們非常易于識別。但是,MD5容易受到碰撞攻擊,SHA-1也容易受到攻擊,但是程度較小。在什么情況下應(yīng)該使用哪種哈希算法?我真的很想知道答案的具體問題是:MD5不值得信賴嗎?在正常情況下,當(dāng)您使用沒有惡意意圖的MD5算法并且任何第三方都沒有惡意意圖時,您會期望發(fā)生任何沖突(這意味著兩個任意byte []會產(chǎn)生相同的哈希)RIPEMD比SHA1好多少?(如果更好),其計算速度要慢5倍,但哈希大小與SHA1相同。在對文件名(或其他短字符串)進(jìn)行哈希處理時,獲得非惡意沖突的幾率是多少?(例如,兩個具有相同MD5哈希值的隨機文件名)(帶有MD5 / SHA1 / SHA2xx)通常,非惡意沖突的幾率是多少?這是我使用的基準(zhǔn):    static void TimeAction(string description, int iterations, Action func) {        var watch = new Stopwatch();        watch.Start();        for (int i = 0; i < iterations; i++) {            func();        }        watch.Stop();        Console.Write(description);        Console.WriteLine(" Time Elapsed {0} ms", watch.ElapsedMilliseconds);    }    static byte[] GetRandomBytes(int count) {        var bytes = new byte[count];        (new Random()).NextBytes(bytes);        return bytes;    }    static void Main(string[] args) {        var md5 = new MD5CryptoServiceProvider();        var sha1 = new SHA1CryptoServiceProvider();        var sha256 = new SHA256CryptoServiceProvider();        var sha384 = new SHA384CryptoServiceProvider();        var sha512 = new SHA512CryptoServiceProvider();        var ripemd160 = new RIPEMD160Managed();        var source = GetRandomBytes(1000 * 1024);        var algorithms = new Dictionary<string,HashAlgorithm>();        algorithms["md5"] = md5;        algorithms["sha1"] = sha1;        algorithms["sha256"] = sha256;        algorithms["sha384"] = sha384;        algorithms["sha512"] = sha512;        algorithms["ripemd160"] = ripemd160;        foreach (var pair in algorithms) {            Console.WriteLine("Hash Length for {0} is {1}",                 pair.Key,                 pair.Value.ComputeHash(source).Length);        }
查看完整描述

4 回答

?
蠱毒傳說

TA貢獻(xiàn)1895條經(jīng)驗 獲得超3個贊

時代變了,我們有SHA3贏家。我建議使用SHA3競賽的keccak(又名SHA3)獲勝者。

原始答案:

以最弱到最強的順序,我會說:

  1. RIPEMD BROKEN,不應(yīng)該使用,因為在此pdf中可以看到

  2. MD-5破碎,切勿使用,可在2分鐘內(nèi)用筆記本電腦破碎

  3. SHA-1 損壞,原則上不要使用,原則上已被破壞,到本周攻擊越來越好

  4. SHA-2弱,在未來幾年內(nèi)可能會損壞。發(fā)現(xiàn)了一些弱點。請注意,通常,密鑰大小越大,散列函數(shù)破解的難度就越大。雖然密鑰大小=強度并不總是正確的,但大多數(shù)情況下都是正確的。因此SHA-256可能比SHA-512弱。

  5. Skein不為人知的弱點,是SHA-3的候選人。它是相當(dāng)新的,因此未經(jīng)測試。它已經(jīng)以多種語言實現(xiàn)。

  6. MD6未知的弱點,是SHA-3的另一種候選方案。可能比Skien強,但在單核計算機上則慢。像Skien一樣,未經(jīng)測試。一些具有安全意識的開發(fā)人員正在以任務(wù)關(guān)鍵型角色使用它。

我個人會使用MD6,因為永遠(yuǎn)不會太偏執(zhí)。如果真正關(guān)心速度,我會考慮使用Skein或SHA-256。


查看完整回答
反對 回復(fù) 2019-11-22
?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗 獲得超7個贊

在MD5的防御中,沒有已知的方法來生成帶有任意MD5哈希的文件。原作者必須事先計劃好有工作上的沖突。因此,如果接收方信任發(fā)送方,則MD5可以。如果簽名人是惡意的,則MD5會被破壞,但是它不容易受到中間人攻擊。


查看完整回答
反對 回復(fù) 2019-11-22
  • 4 回答
  • 0 關(guān)注
  • 656 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號