国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

五分鐘搞懂摘要算法

這篇具有很好參考價(jià)值的文章主要介紹了五分鐘搞懂摘要算法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一.摘要算法和摘要

1.概述

摘要算法又稱哈希算法、散列算法。摘要也稱哈希值,表示輸入任意長(zhǎng)度的數(shù)據(jù),都會(huì)輸出固定長(zhǎng)度的數(shù)據(jù)。通過(guò)摘要算法(比如MDS和SHA-1)就可以得到該哈希值。

2.特點(diǎn)

  • 長(zhǎng)度固定,結(jié)果越長(zhǎng),認(rèn)為摘要算法越安全* 原始數(shù)據(jù)不同,生成的摘要一定不同* 單項(xiàng)不可逆### 3、作用

摘要只驗(yàn)證數(shù)據(jù)的完整性和唯一性,單項(xiàng)不可逆。 哈希值長(zhǎng)度都是固定的:MD5輸出128bit長(zhǎng)度的二進(jìn)制串,SHA-1輸出160bit長(zhǎng)度的二進(jìn)制串。128bit指二進(jìn)制位數(shù)是128。 (8bit=1byte128bit=16byte)。

4、誤區(qū)

摘要只是用于驗(yàn)證數(shù)據(jù)完整性和唯一性的,不管原始數(shù)據(jù)是什么樣的,得到的哈希值都是固定長(zhǎng)度的,也就是說(shuō)哈希值并不是原始數(shù)據(jù)加密后的密文,只是一個(gè)驗(yàn)證身份的令牌,所以我們無(wú)法通過(guò)摘要還原出原始數(shù)據(jù),即單向不可逆,所以說(shuō)摘要算法是加密算法是不嚴(yán)謹(jǐn)?shù)摹?/p>

二.目前常用的摘要算法

算法

輸出長(zhǎng)度

MD5

128bit

SHA-1

160bit

SHA-256

256bit

1.MD5

(1)MD5的用途
  • 驗(yàn)證文件完整性* 存儲(chǔ)用戶口令(比如密碼)系統(tǒng)不用存儲(chǔ)用戶原始口令,而是存儲(chǔ)用戶原始口令的MD5,系統(tǒng)計(jì)算用戶輸入的原始口令的MD5并與數(shù)據(jù)存儲(chǔ)的MD5進(jìn)行對(duì)比,如果相同,則說(shuō)明口令正確,反之則說(shuō)明口令錯(cuò)誤。

(2)彩虹表

MD5雖然不可逆,也無(wú)法通過(guò)摘要還原出原始數(shù)據(jù),但不代表一定安全。由于字符串通過(guò)MD5計(jì)算的摘要是唯一的,那么MD5字典隨著時(shí)間積累保存越來(lái)越多的MD5記錄,通過(guò)窮舉這個(gè)字典就可以找到密碼。我們把這個(gè)字典稱為彩虹表。即采用各種Hash算法生成的明文和密文的對(duì)照表。

(3)加鹽或者base64--防止彩虹表窮舉

抵御彩虹表攻擊我們不能簡(jiǎn)單的記錄原始口令的MD5值,需要讓原始數(shù)據(jù)變得夠長(zhǎng)和夠復(fù)雜??梢酝ㄟ^(guò)base64編碼方法,對(duì)原始數(shù)據(jù)先進(jìn)行base64編碼,再M(fèi)D5,即md5(base64(password))。也可以通過(guò)加鹽的方法,對(duì)原始數(shù)據(jù)額外添加隨機(jī)數(shù)salt,再M(fèi)D5,即md5(salt+password)。Java代碼如下:


public static String md5(String string, String slat) {if (TextUtils.isEmpty(string)) {return "";}MessageDigest md5 = null;try {md5 = MessageDigest.getInstance("MD5");byte[] bytes = md5.digest((string + slat).getBytes());String result = "";for (byte b : bytes) {String temp = Integer.toHexString(b & 0xff);if (temp.length() == 1) {temp = "0" + temp;}result += temp;}return result;} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return "";} 

2.SHA-1

SHA-1算法也是一種哈希算法,輸出160bit,它的同類型算法有SHA-256和SHA-512,輸出的長(zhǎng)度分別是256bit和512bit。SHA-1在Java中使用同MD5類似,Java代碼如下:


public static String sha(String string) {if (TextUtils.isEmpty(string)) {return "";}MessageDigest md5 = null;try {md5 = MessageDigest.getInstance("sha-1");byte[] bytes = md5.digest((string ).getBytes());String result = "";for (byte b : bytes) {String temp = Integer.toHexString(b & 0xff);if (temp.length() == 1) {temp = "0" + temp;}result += temp;}return result;} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return "";} 

網(wǎng)絡(luò)安全成長(zhǎng)路線圖

這個(gè)方向初期比較容易入門(mén)一些,掌握一些基本技術(shù),拿起各種現(xiàn)成的工具就可以開(kāi)黑了。不過(guò),要想從腳本小子變成hei客大神,這個(gè)方向越往后,需要學(xué)習(xí)和掌握的東西就會(huì)越來(lái)越多,以下是學(xué)習(xí)網(wǎng)絡(luò)安全需要走的方向:

摘要算法,java,開(kāi)發(fā)語(yǔ)言,網(wǎng)絡(luò)安全,算法,MD5,Powered by 金山文檔
摘要算法,java,開(kāi)發(fā)語(yǔ)言,網(wǎng)絡(luò)安全,算法,MD5,Powered by 金山文檔

# 網(wǎng)絡(luò)安全學(xué)習(xí)方法

上面介紹了技術(shù)分類和學(xué)習(xí)路線,這里來(lái)談一下學(xué)習(xí)方法:

## 視頻學(xué)習(xí)

無(wú)論你是去B站或者是油管上面都有很多網(wǎng)絡(luò)安全的相關(guān)視頻可以學(xué)習(xí),當(dāng)然如果你還不知道選擇那套學(xué)習(xí),我這里也整理了一套和上述成長(zhǎng)路線圖掛鉤的視頻教程,完整版的視頻已經(jīng)上傳至CSDN官方,朋友們?nèi)绻枰梢渣c(diǎn)擊這個(gè)鏈接免費(fèi)領(lǐng)取。摘要算法,java,開(kāi)發(fā)語(yǔ)言,網(wǎng)絡(luò)安全,算法,MD5,Powered by 金山文檔網(wǎng)絡(luò)安全重磅福利:入門(mén)&進(jìn)階全套282G學(xué)習(xí)資源包免費(fèi)分享!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-740634.html

到了這里,關(guān)于五分鐘搞懂摘要算法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 5分鐘搞懂MySQL - 行轉(zhuǎn)列

    5分鐘搞懂MySQL - 行轉(zhuǎn)列

    小伙伴想精準(zhǔn)查找自己想看的MySQL文章?喏 → MySQL專欄目錄 | 點(diǎn)擊這里 ??MySQL 行轉(zhuǎn)列 ,對(duì)經(jīng)常處理數(shù)據(jù)的同學(xué)們來(lái)說(shuō),一定是不陌生的,甚至是印象深刻,因?yàn)樗蟾怕世_過(guò)你,讓你為之一愣~ 但當(dāng)你看到本文后,這個(gè)問(wèn)題就不在是問(wèn)題,及時(shí)收藏,以后誰(shuí)再問(wèn)你這個(gè)問(wèn)

    2023年04月08日
    瀏覽(15)
  • 系統(tǒng)架構(gòu)設(shè)計(jì)專業(yè)技能 · 系統(tǒng)安全分析與設(shè)計(jì)(四)【加解密、數(shù)字信封、信息摘要、數(shù)字簽名、數(shù)字書(shū)證、網(wǎng)絡(luò)安全、信息安全】

    系統(tǒng)架構(gòu)設(shè)計(jì)專業(yè)技能 · 系統(tǒng)安全分析與設(shè)計(jì)(四)【加解密、數(shù)字信封、信息摘要、數(shù)字簽名、數(shù)字書(shū)證、網(wǎng)絡(luò)安全、信息安全】

    點(diǎn)擊進(jìn)入系列文章目錄 現(xiàn)在的一切都是為將來(lái)的夢(mèng)想編織翅膀,讓夢(mèng)想在現(xiàn)實(shí)中展翅高飛。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 數(shù)據(jù)加密是 防止未經(jīng)授權(quán)的用戶訪問(wèn)敏感信息的手段 ,保障系統(tǒng)的機(jī)密性要素。數(shù)據(jù)加密有對(duì)稱加密算法和非對(duì)稱加

    2024年02月12日
    瀏覽(23)
  • 2分鐘徹底搞懂“高內(nèi)聚,低耦合”

    2分鐘徹底搞懂“高內(nèi)聚,低耦合”

    ??推薦閱讀文章?? ?? JavaSE系列 ????1??《JavaSE系列教程》 ?? MySQL系列 ????2??《MySQL系列教程》 ?? JavaWeb系列 ????3??《JavaWeb系列教程》 ?? SSM框架系列 ????4??《SSM框架系列教程》 ??本博客知識(shí)點(diǎn)收錄于??????《SSM框架系列教程》??—??01【高內(nèi)聚

    2024年03月23日
    瀏覽(26)
  • 5分鐘搞懂矩陣乘法的本質(zhì)

    5分鐘搞懂矩陣乘法的本質(zhì)

    大家好啊,我是董董燦。 很多與深度學(xué)習(xí)算法相關(guān)的面試,面試官可能都會(huì)問(wèn)一類問(wèn)題,那就是你是如何理解矩陣乘算法的。 更有甚者,會(huì)讓你當(dāng)場(chǎng)手寫(xiě)矩陣乘算法,然后問(wèn)細(xì)節(jié),問(wèn)如何優(yōu)化,面試現(xiàn)場(chǎng),殘忍至極。 那矩陣乘法的本質(zhì)到底是什么呢?為什么在神經(jīng)網(wǎng)絡(luò)中,

    2024年02月04日
    瀏覽(17)
  • 5分鐘搞懂池化的本質(zhì)

    5分鐘搞懂池化的本質(zhì)

    大家好啊,我是董董燦! 在很多與計(jì)算機(jī)視覺(jué)相關(guān)的神經(jīng)網(wǎng)絡(luò)中,我們往往都會(huì)看到池化這一算法,它一般跟在卷積層后面。 神經(jīng)網(wǎng)絡(luò)中用到最多的池化方式無(wú)外乎是最大池化和平均池化。兩者運(yùn)算接近,區(qū)別在于是在kernel范圍內(nèi)取最大值還是取平均值來(lái)作為池化的輸出。

    2024年02月15日
    瀏覽(16)
  • 3分鐘搞懂:JavaScript 和 ECMAScript

    ECMAScript 是 JavaScript 語(yǔ)言的 國(guó)際標(biāo)準(zhǔn) ,JavaScript 是 ECMAScript 的 一種實(shí)現(xiàn) (Adobe ActionScript 和 JScript 同樣實(shí)現(xiàn)了 ECMAScript)。 ECMAScript 是歐洲計(jì)算機(jī)制造商協(xié)會(huì) ECMA(European Computer Manufacturers Association)發(fā)布的瀏覽器腳本語(yǔ)言標(biāo)準(zhǔn)。它是 262 號(hào)標(biāo)準(zhǔn)文件,又叫 ECMA-262。 ECMAScript 定義

    2023年04月22日
    瀏覽(27)
  • 3分鐘帶你徹底搞懂 Kafka

    3分鐘帶你徹底搞懂 Kafka

    實(shí)時(shí)數(shù)據(jù)處理 ,從名字上看,很好理解,就是將數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,在現(xiàn)在流行的微服務(wù)開(kāi)發(fā)中,最常用實(shí)時(shí)數(shù)據(jù)處理平臺(tái)有 RabbitMQ、RocketMQ 等消息中間件。 這些中間件,最大的特點(diǎn)主要有兩個(gè): 服務(wù)解耦 流量削峰 在早期的 web 應(yīng)用程序開(kāi)發(fā)中,當(dāng)請(qǐng)求量突然上來(lái)了時(shí)候,

    2024年04月16日
    瀏覽(27)
  • 5分鐘搞懂Kubernetes:輕松理解所有組件

    5分鐘搞懂Kubernetes:輕松理解所有組件

    之前我曾經(jīng)提到了一系列關(guān)于服務(wù)網(wǎng)格的內(nèi)容。然而,我意識(shí)到有些同學(xué)可能對(duì)Kubernetes的了解相對(duì)較少,更不用說(shuō)應(yīng)用服務(wù)網(wǎng)格這個(gè)概念了。因此,今天我決定帶著大家快速理解Kubernetes中的一些專有名詞,以便在短時(shí)間內(nèi)入門(mén),并減少學(xué)習(xí)的時(shí)間。我將在接下來(lái)的5分鐘內(nèi)為

    2024年02月05日
    瀏覽(26)
  • 十分鐘帶汝入門(mén)大數(shù)據(jù)開(kāi)發(fā)語(yǔ)言Scala

    十分鐘帶汝入門(mén)大數(shù)據(jù)開(kāi)發(fā)語(yǔ)言Scala

    大家好,我是百思不得小趙。 創(chuàng)作時(shí)間:2022 年 6 月 7 日 博客主頁(yè): ??點(diǎn)此進(jìn)入博客主頁(yè) —— 新時(shí)代的農(nóng)民工 ?? —— 換一種思維邏輯去看待這個(gè)世界 ?? 今天是加入CSDN的第1193天。覺(jué)得有幫助麻煩??點(diǎn)贊、??評(píng)論、??收藏 Scala是一門(mén)多范式的編程語(yǔ)言,一種類似Ja

    2024年02月02日
    瀏覽(34)
  • 10分鐘從源碼級(jí)別搞懂AQS(AbstractQueuedSynchronizer)

    10分鐘從源碼級(jí)別搞懂AQS(AbstractQueuedSynchronizer)

    上篇文章15000字、6個(gè)代碼案例、5個(gè)原理圖讓你徹底搞懂Synchronized有說(shuō)到synchronized由object monitor實(shí)現(xiàn)的 object monitor中由cxq棧和entry list來(lái)實(shí)現(xiàn)阻塞隊(duì)列,wait set實(shí)現(xiàn)等待隊(duì)列,從而實(shí)現(xiàn)synchronized的等待/通知模式 而JDK中的JUC并發(fā)包也通過(guò)類似的阻塞隊(duì)列和等待隊(duì)列實(shí)現(xiàn)等待/通知模

    2024年02月10日
    瀏覽(51)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包