0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

哈希算法函數(shù)的定義描述及其特征介紹

開發(fā)MrsFu123 ? 來源:開發(fā)MrsFu123 ? 作者:開發(fā)MrsFu123 ? 2022-06-28 21:02 ? 次閱讀

哈希的本質(zhì)是一個采用哈希算法的數(shù)學(xué)函數(shù),它被廣泛應(yīng)用于區(qū)塊鏈中構(gòu)建區(qū)塊以及確認(rèn)交易信息的完整性上。

什么是哈希算法?哈希算法是密碼學(xué)中的一個重要算法,哈希的英文為Hash。

哈希算法有一個輸入和一個輸出,其輸入稱為消息,輸出值是根據(jù)消息內(nèi)容計算出的值,稱為哈希值(又或稱為摘要)

哈希算法函數(shù)的定義描述:

(1)輸入消息長度任意

(2)輸出哈希值長度固定

簡單的理解,就是一串任意長的數(shù)據(jù)經(jīng)過哈希函數(shù)的計算后,生成一串長度固定的短數(shù)據(jù)。

當(dāng)今區(qū)塊鏈技術(shù)中大量使用的哈希算法函數(shù)是SHA-256。SHA-256是SHA-2算法家族中的一種,SHA全稱是安全哈希算法(Secure Hash Algorithm)。SHA-256的輸入消息長度為任意位數(shù),其輸出的哈希值長度固定為二進(jìn)制的256位。SHA-256具備密碼哈希函數(shù)的基本特性

哈希函數(shù)有三個重要的特征。

第一,哈希的單向性、就是我們只能夠把任意長度的數(shù)據(jù),通過哈希函數(shù)生成一個固定長度的哈希值,反過來卻不可能通過這個哈希值再推導(dǎo)出原來的輸入數(shù)據(jù),這就是哈希的單向性。

很多人好奇區(qū)塊鏈?zhǔn)窃趺葱纬傻?,簡單理解,區(qū)塊鏈=區(qū)塊+鏈。例如我們把一個區(qū)塊打包以后就會通過哈希函數(shù)計算出一個哈希值,這個值就會存放到下一個區(qū)塊中,下一個區(qū)塊里的哈希值就把上一個區(qū)塊給鎖定了,這就是哈希鎖定。區(qū)塊鏈的不可更改就是從這里來的,因為如果你把前面的區(qū)塊數(shù)據(jù)篡改了,那和后面區(qū)塊里的哈希值,就不能夠?qū)?yīng)了。在區(qū)塊鏈中,每一個區(qū)塊都對上一個區(qū)塊進(jìn)行內(nèi)容鎖定,這就是哈希鎖定。

第二,哈希的唯一性。我們把一個任意長的數(shù)據(jù)通過哈希函數(shù)生成一個哈希值,生成的這個哈希值是唯一的。不會存在兩個不同的輸入生成的哈希值相同的這種情況。但是這句話是有問題的,為什么呢?你把任意長數(shù)據(jù)變成短數(shù)據(jù),或者說你把大的文件變成一個短的哈希值,在科學(xué)上它是有一定的概率會形成相同的哈希值的,只是這個概率極低極低,到目前為止,采用SHA256算法的哈希函數(shù)還沒有發(fā)生過相同哈希值的碰撞事件,所以說哈希的唯一性,就是這么來的。

第三,哈希的離散性。離散性是什么意思呢,就是兩個非常相近的文件,或者說兩個只相差一位數(shù)的數(shù)據(jù),計算出來的兩個哈希值卻是天壤之別,是沒有任何相似的地方的,這就是哈希的離散性。這個特性有效地規(guī)避了一些特定的攻擊,如果兩個文件只相差那么一丟丟,他計算出來的哈希值也很相近的話,是很容易遭受到攻擊的。以上所述是哈希的三個重要特征。

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    什么叫系統(tǒng)的頻率響應(yīng)函數(shù)?它和傳遞函數(shù)有何關(guān)系

    系統(tǒng)的頻率響應(yīng)函數(shù)(Frequency Response Function, FRF)是描述線性時不變(Linear Time-Invariant, LTI)系統(tǒng)在不同頻率下輸入和輸出之間關(guān)系的數(shù)學(xué)
    的頭像 發(fā)表于 10-18 09:29 ?590次閱讀

    音頻特征描述

    電子發(fā)燒友網(wǎng)站提供《音頻特征描述.pdf》資料免費下載
    發(fā)表于 10-10 11:37 ?0次下載
    音頻<b class='flag-5'>特征描述</b>

    開源物聯(lián)網(wǎng)技術(shù)--哈希算法MD5加密功能技術(shù)分享

    MD5(Message-Digest Algorithm 5)是一種常用的哈希函數(shù),通常用于數(shù)據(jù)加密和安全校驗等場合。MD5 算法可以將任意長度的消息輸入計算出一個固定長度的摘要,其生成的摘要具有
    的頭像 發(fā)表于 09-21 09:57 ?791次閱讀
    開源物聯(lián)網(wǎng)技術(shù)--<b class='flag-5'>哈希</b><b class='flag-5'>算法</b>MD5加密功能技術(shù)分享

    lp模型的要素、組成部分及特征

    。本文將介紹線性規(guī)劃模型的要素、組成部分及特征。 一、線性規(guī)劃模型的要素 目標(biāo)函數(shù)(Objective Function):目標(biāo)函數(shù)是線性規(guī)劃模型的核心,用于
    的頭像 發(fā)表于 07-09 10:10 ?611次閱讀

    生成式AI的定義特征

    行為,生成全新的、具有實際意義的數(shù)據(jù)或內(nèi)容。這種技術(shù)已經(jīng)在自然語言處理、圖像生成、音頻合成等多個領(lǐng)域展現(xiàn)出巨大的潛力和應(yīng)用價值。本文將詳細(xì)探討生成式AI的定義、特征類,并通過代碼示例展示其在實際應(yīng)用中的實現(xiàn)。
    的頭像 發(fā)表于 07-05 17:33 ?796次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)激活函數(shù)的作用

    起著至關(guān)重要的作用,它們可以增加網(wǎng)絡(luò)的非線性,提高網(wǎng)絡(luò)的表達(dá)能力,使網(wǎng)絡(luò)能夠?qū)W習(xí)到更加復(fù)雜的特征。本文將詳細(xì)介紹卷積神經(jīng)網(wǎng)絡(luò)中激活函數(shù)的作用、常見激活函數(shù)
    的頭像 發(fā)表于 07-03 09:18 ?674次閱讀

    神經(jīng)網(wǎng)絡(luò)中激活函數(shù)定義及類型

    詳細(xì)介紹激活函數(shù)定義、類型。 激活函數(shù)定義和基本功能 2.1 定義 激活
    的頭像 發(fā)表于 07-02 10:09 ?405次閱讀

    函數(shù)信號發(fā)生器的定義、功能及應(yīng)用

    隨著現(xiàn)代電子技術(shù)的飛速發(fā)展,電子測試設(shè)備在科研、生產(chǎn)、教育等領(lǐng)域的應(yīng)用越來越廣泛。其中,函數(shù)信號發(fā)生器作為一種重要的電子測試設(shè)備,在電子工程、通信、科研等領(lǐng)域發(fā)揮著至關(guān)重要的作用。本文將詳細(xì)介紹函數(shù)信號發(fā)生器的
    的頭像 發(fā)表于 05-15 14:42 ?1464次閱讀

    PHP用戶定義函數(shù)詳細(xì)講解

    描述 在所有編程和腳本語言中,函數(shù)是可以在程序中重復(fù)使用的語句塊。在 PHP 中,函數(shù)的概念與另一種語言(如“C”)中的概念相同。標(biāo)準(zhǔn) PHP 發(fā)行版中有 1,000 多個內(nèi)置函數(shù)。除
    的頭像 發(fā)表于 03-20 14:27 ?340次閱讀

    verilog function函數(shù)的用法

    Verilog 中被廣泛用于對電路進(jìn)行模塊化設(shè)計,以簡化和組織代碼。 本文將詳細(xì)介紹 Verilog 函數(shù)的用法,并探討函數(shù)在硬件設(shè)計中的重要性和實際應(yīng)用場景。 一. Verilog 函數(shù)
    的頭像 發(fā)表于 02-22 15:49 ?4801次閱讀

    傳遞函數(shù)定義是什么 傳遞函數(shù)的拉氏反變換是什么響應(yīng)

    傳遞函數(shù)定義: 傳遞函數(shù)是一種數(shù)學(xué)工具,用于描述線性時不變系統(tǒng)(LTI系統(tǒng))的輸入與輸出之間的關(guān)系,通常用H(s)表示。傳遞函數(shù)是Lapl
    的頭像 發(fā)表于 02-01 10:53 ?3570次閱讀

    sgnx函數(shù)的概念、特征和用途

    為1;當(dāng)自變量為負(fù)時,sgnx函數(shù)的值為-1;當(dāng)自變量為零時,sgnx函數(shù)的值為0。 在本文中,我將詳細(xì)介紹sgnx函數(shù)的概念、特征和用途。
    的頭像 發(fā)表于 12-11 13:38 ?3640次閱讀

    RRT算法Matlab實現(xiàn) 主函數(shù)部分

    初始化隨機樹 初始化隨機樹,定義樹結(jié)構(gòu)體tree以保存新節(jié)點及其父節(jié)點,便于后續(xù)從目標(biāo)點回推規(guī)劃的路徑。 %% 初始化隨機樹 tree.child = []; % 定義樹結(jié)構(gòu)體,保存新節(jié)點及其
    的頭像 發(fā)表于 11-24 16:25 ?433次閱讀

    c語言max函數(shù)在哪個庫

    C語言的max函數(shù)并不屬于標(biāo)準(zhǔn)C庫,它通常是由程序員自己編寫的一個宏定義。max函數(shù)用于比較兩個數(shù)的大小,返回較大的數(shù)值。 為了提供更多詳實的信息,下面將詳細(xì)介紹C語言中max
    的頭像 發(fā)表于 11-22 10:18 ?3222次閱讀

    python如何定義一個函數(shù)

    ()。但你也可以自己創(chuàng)建函數(shù),這被叫做用戶自定義函數(shù)。 二、定義一個函數(shù) 你可以定義一個由自己想
    的頭像 發(fā)表于 11-14 11:26 ?671次閱讀