吴忠躺衫网络科技有限公司

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

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

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

區(qū)塊哈希游戲開發(fā)邏輯(上鏈)哈希競(jìng)猜游戲開發(fā)

a1271916008 ? 來(lái)源:a1271916008 ? 作者:a1271916008 ? 2022-06-02 11:39 ? 次閱讀

什么是哈希/ Hash

哈希又稱作“散列”,是一種數(shù)學(xué)計(jì)算機(jī)程序,它接收任何一組任意長(zhǎng)度的輸入信息,通過(guò)哈希算法變換成固定長(zhǎng)度的數(shù)據(jù)指紋輸出形式,如字母和數(shù)字的組合,該輸出就是“哈希值”。

總體而言,哈希算法可理解為一種消息摘要算法,將消息或數(shù)據(jù)壓縮變小并擁有固定格式。由于其單向運(yùn)算具有一定的不可逆性,哈希算法已成為加密算法中一個(gè)構(gòu)成部分,但完整的加密機(jī)制不能僅依賴哈希算法。

在一個(gè)cache系統(tǒng)中,需要實(shí)現(xiàn)一個(gè)域名白名單,域名為下列數(shù)據(jù):
、、sohu.com 等
該白名單需要在程序啟動(dòng)時(shí)加載一次,主要執(zhí)行查詢操作。請(qǐng)?jiān)O(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)和相應(yīng)的初始化查詢函數(shù),使得檢索盡可能的快。(不能使用stl::map,等等key-value刑類庫(kù))。

我們可以看到,該題目提出了字符串的快速查找,并且只加載一次。使用Hash比較好。

我們可能首先就是想到使用 C++ 中的 MAP ,題目中給出了不允許使用MAP,那么肯定第二選擇就是使用Berkeley DB (DB)這種的文件數(shù)據(jù)庫(kù)了,但是題目中明顯提出不允許使用key-value類型庫(kù)。

我們思考Berkeley DB (DB)的原理可以曉得,這個(gè)就是一個(gè)Hash的過(guò)程,map其實(shí)也是hash的思想。

自己設(shè)計(jì)一個(gè)hash系統(tǒng)咯。沖突處理…

字符串hash可能就想到使用ELFhash算法,主要分析下ELFHash算法。

ELFhash函數(shù)在UNIX系統(tǒng)V 版本4中的“可執(zhí)行鏈接格式”( Executable and Linking Format,即ELF )中會(huì)用到,ELF文件格式用于存儲(chǔ)可執(zhí)行文件與目標(biāo)文件。ELFhash函數(shù)是對(duì)字符串的散列。它對(duì)于長(zhǎng)字符串和短字符串都很有效,字符串中每個(gè)字符都有同樣的作用,它巧妙地對(duì)字符的ASCII編碼值進(jìn)行計(jì)算,ELFhash函數(shù)對(duì)于能夠比較均勻地把字符串分布在散列表中。

這些函數(shù)使用位運(yùn)算使得每一個(gè)字符都對(duì)最后的函數(shù)值產(chǎn)生影響。

// ELF Hash Function

unsignedintELFHash(char*str)

{

unsignedinthash = 0;

unsignedintx= 0;

while(*str)

{

hash = (hash << 4) + (*str++);//hash左移4位,當(dāng)前字符ASCII存入hash低四位。?

if((x = hash & 0xF0000000L) != 0)

{//如果最高的四位不為0,則說(shuō)明字符多余7個(gè),如果不處理,再加第九個(gè)字符時(shí),第一個(gè)字符會(huì)被移出,因此要有如下處理。

//該處理,如果對(duì)于字符串(a-z或者A-Z)就會(huì)僅僅影響5-8位,否則會(huì)影響5-31位,因?yàn)?a href="http://www.solar-ruike.com.cn/soft/data/21-24/" target="_blank">C語(yǔ)言使用的算數(shù)移位

hash ^= (x >> 24);

//清空28-31位。

hash &= ~x;

}

}

//返回一個(gè)符號(hào)位為0的數(shù),即丟棄最高位,以免函數(shù)外產(chǎn)生影響。(我們可以考慮,如果只有字符,符號(hào)位不可能為負(fù))

return(hash & 0×7FFFFFFF);

}

常見哈希算法

目前常見的 Hash 算法包括國(guó)際上的 Message Digest( MD) 系列和 Secure Hash Algorithm( SHA) 系列算法,以及國(guó)內(nèi)的 SM3 算法。

其中,SHA 256 是 SHA 系列算法之一,由美國(guó)國(guó)安局設(shè)計(jì)、美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院發(fā)布的一套哈希算法,由于其摘要長(zhǎng)度為 256bits,故稱 SHA 256。SHA 256也是保護(hù)數(shù)字信息的最安全的方法之一。

例如計(jì)算

“hello blockchain world, this is yeasy@github”的SHA-256 Hash值,

得到的結(jié)果將是

“db8305d71a9f2f90a3e118a9b49a4c381d2b80cf7bcef81930f30ab1832a3c90”。

對(duì)于某個(gè)文件,無(wú)需查看原始內(nèi)容,只要其 SHA-256 Hash 計(jì)算后結(jié)果相同,則說(shuō)明該文件內(nèi)容極大概率就是一樣的。

審核編輯:符乾江

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

    關(guān)注

    2

    文章

    833

    瀏覽量

    29515
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    85037
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Google Play全面助力出海游戲開發(fā)

    2024 年毫無(wú)疑問是中國(guó)開發(fā)者們?cè)佾@成功的一年!我們和大家一起慶祝了今年收獲的成果,也并肩展望了電子游戲美好的未來(lái)。在 Google Play Partner Day 游戲專題演講中,我們從各個(gè)
    的頭像 發(fā)表于 01-15 11:32 ?239次閱讀

    MediaTek與知名游戲引擎開發(fā)商Cocos達(dá)成深度合作

    為帶給開發(fā)者和用戶智能互動(dòng)新體驗(yàn), MediaTek 與知名游戲引擎開發(fā)商 Cocos 達(dá)成深度合作,將 MediaTek 端側(cè)生成式 AI 領(lǐng)域的前沿技術(shù),與 Cocos 在游戲
    的頭像 發(fā)表于 01-10 13:48 ?129次閱讀

    聯(lián)發(fā)科技攜手Cocos共建端側(cè)生成式AI游戲開發(fā)生態(tài),推動(dòng)行業(yè)升級(jí)

    全球領(lǐng)先的半導(dǎo)體公司聯(lián)發(fā)科技與知名游戲引擎開發(fā)商Cocos正式宣布達(dá)成深度合作!這一合作將把聯(lián)發(fā)科技在端側(cè)生成式AI領(lǐng)域的尖端技術(shù),與Cocos在游戲開發(fā)領(lǐng)域的深厚積累深度結(jié)合,為
    的頭像 發(fā)表于 01-10 09:24 ?144次閱讀

    ChatGPT 在游戲開發(fā)中的創(chuàng)新應(yīng)用

    游戲開發(fā)領(lǐng)域,人工智能技術(shù)的應(yīng)用正變得越來(lái)越廣泛。ChatGPT,作為一種先進(jìn)的自然語(yǔ)言處理(NLP)模型,為游戲開發(fā)帶來(lái)了許多創(chuàng)新的應(yīng)用。 1. 動(dòng)態(tài)對(duì)話系統(tǒng) ChatGPT的強(qiáng)項(xiàng)
    的頭像 發(fā)表于 10-25 18:05 ?715次閱讀

    蘋果正開發(fā)與App Store相似的新游戲應(yīng)用程序

    10月23日訊,據(jù)最新媒體報(bào)道,蘋果正加大對(duì)游戲領(lǐng)域的投入,并著手開發(fā)一款與App Store相似的新游戲應(yīng)用程序。   這款新應(yīng)用將整合App Store與Game Center的功能,設(shè)計(jì)有多個(gè)選項(xiàng)卡,包括“立即玩”(
    的頭像 發(fā)表于 10-23 13:40 ?399次閱讀

    恒訊科技分析:使用顯卡云服務(wù)器進(jìn)行游戲開發(fā)有哪些優(yōu)勢(shì)和劣勢(shì)?

    使用顯卡云服務(wù)器進(jìn)行游戲開發(fā)具有一系列的優(yōu)勢(shì)和劣勢(shì): 一、優(yōu)勢(shì): 1、高性能計(jì)算:顯卡云服務(wù)器基于GPU的架構(gòu)提供了強(qiáng)大的并行處理能力,這對(duì)于游戲開發(fā)中的圖形渲染、物理模擬和人工智能等
    的頭像 發(fā)表于 09-04 13:20 ?391次閱讀

    基于 FPGA 的飛機(jī)大戰(zhàn)游戲系統(tǒng)設(shè)計(jì)

    ,可以直插在開發(fā),方便地控制游戲。 1.4 關(guān)鍵性能指標(biāo)(1) 游戲界面美觀,飛機(jī)圖標(biāo)清晰,游戲動(dòng)畫顯示流暢。(2)
    發(fā)表于 07-24 20:03

    MediaTek天璣開發(fā)者大會(huì)2024揭秘:AI Coaching游戲教學(xué)技術(shù)革新游戲體驗(yàn)

    在近日舉辦的 MediaTek 天璣開發(fā)者大會(huì) 2024(MDDC),一場(chǎng)前所未有的技術(shù)盛宴震撼了業(yè)界。MediaTek 攜手王者榮耀國(guó)際服(Honor of Kings)和騰訊 AI Lab
    的頭像 發(fā)表于 06-27 10:59 ?640次閱讀

    游戲選天璣!聯(lián)發(fā)科天璣游戲技術(shù)推動(dòng)游戲生態(tài)高速發(fā)展

    近日,聯(lián)發(fā)科天璣開發(fā)者大會(huì)2024(MDDC 2024)在深圳隆重舉行,以“AI予萬(wàn)物”為主題。作為移動(dòng)游戲技術(shù)生態(tài)的積極參與者、深入探索者以及前沿引領(lǐng)者,聯(lián)發(fā)科攜手全球游戲廠商、開發(fā)
    的頭像 發(fā)表于 05-07 14:21 ?593次閱讀
    玩<b class='flag-5'>游戲</b>選天璣!聯(lián)發(fā)科天璣<b class='flag-5'>游戲</b>技術(shù)推動(dòng)<b class='flag-5'>游戲</b>生態(tài)高速發(fā)展

    HarmonyOS攜手庫(kù)洛游戲推動(dòng)《戰(zhàn)雙帕彌什》鴻蒙原生應(yīng)用開發(fā)

    4 月 22 日,華為宣布庫(kù)洛游戲的《戰(zhàn)雙帕彌什》正式啟動(dòng)鴻蒙原生應(yīng)用開發(fā)項(xiàng)目,與 HarmonyOS NEXT 鴻蒙星河版的方舟引擎展開深度合作,旨在提升游戲的運(yùn)行流暢度,為玩家提供更好的動(dòng)作
    的頭像 發(fā)表于 04-22 15:21 ?643次閱讀

    OpenHarmony南向開發(fā)實(shí)例:【游戲手柄】

    基于TS擴(kuò)展的聲明式開發(fā)范式編程語(yǔ)言,以及OpenHarmony的分布式能力實(shí)現(xiàn)的一個(gè)手柄游戲
    的頭像 發(fā)表于 04-17 10:21 ?823次閱讀
    OpenHarmony南向<b class='flag-5'>開發(fā)</b>實(shí)例:【<b class='flag-5'>游戲</b>手柄】

    微軟推出游戲開發(fā)擴(kuò)展新程序Microsoft Game Dev

    據(jù)官方描述,擴(kuò)展版的功能包括向Dev Home設(shè)備配置工具推薦適合游戲開發(fā)的套裝,同時(shí)增加對(duì)控制臺(tái)屏幕中央的游戲開發(fā)小部件的支持。值得注意的是,僅Windows 11和Windows
    的頭像 發(fā)表于 03-21 10:24 ?641次閱讀

    2024 Unity游戲報(bào)告洞見:市場(chǎng)變化莫測(cè),游戲工作室大膽優(yōu)化資源韌性

    Unity 在 2024 年游戲開發(fā)者大會(huì)(GDC)發(fā)布了2024年Unity 游戲報(bào)告。該報(bào)告指出,盡管 2023 年是經(jīng)濟(jì)面臨持續(xù)挑戰(zhàn)的一年,但
    的頭像 發(fā)表于 03-19 22:25 ?810次閱讀
    2024 Unity<b class='flag-5'>游戲</b>報(bào)告洞見:市場(chǎng)變化莫測(cè),<b class='flag-5'>游戲</b>工作室大膽優(yōu)化資源韌性

    索尼大規(guī)模裁員,服務(wù)型游戲開發(fā)項(xiàng)目被砍?

     Schreier 補(bǔ)充道,雖然有人告知他這游戲將很快問世,但實(shí)際其仍處于早期開發(fā)階段,尚未通過(guò)審批。如此數(shù)量龐大的裁員無(wú)疑讓許多項(xiàng)目面臨“流產(chǎn)”可能。
    的頭像 發(fā)表于 02-28 11:00 ?719次閱讀

    Xbox應(yīng)用新增“游戲中心”功能

    微軟 Xbox 體驗(yàn)高級(jí)產(chǎn)品經(jīng)理 Dylan Meade表示,“游戲中心”便于玩家追蹤游戲進(jìn)展,發(fā)現(xiàn)游戲最新內(nèi)容和擴(kuò)展包,與友人聯(lián)機(jī)競(jìng)技,接收開發(fā)商的最新新聞等。
    的頭像 發(fā)表于 02-27 14:02 ?771次閱讀
    百家乐官网又称什么| 圣保罗百家乐官网的玩法技巧和规则 | 网上百家乐内幕| 百家乐星级游戏| 百家乐庄最高连开几把| 皇冠网全讯通| 七胜百家乐官网娱乐网| 百家乐玩法介绍图片| 博彩排行| tt百家乐官网的玩法技巧和规则 | 百家乐官网太阳娱乐网| 海尔百家乐的玩法技巧和规则| 金龙博彩网| 百家乐官网补第三张牌规则| 百家乐娱乐网网77scs| 肥城市| 百家乐代理加盟| 大发888怎么下载安装| 至尊百家乐官网娱乐网| 中华百家乐娱乐城| 六合彩网站| 单机百家乐官网的玩法技巧和规则 | 大发888平台啥时候最赢钱| 百家乐官网游戏规则玩法| 川宜百家乐破解版| 鼎丰娱乐城开户| 百家乐官网的赚钱原理| 百家乐玩法与规则| 澳盈88投注| 金龍百家乐官网的玩法技巧和规则| 百家乐庄闲机率分析| 大发888国际娱乐城lm0| 百家乐官网游戏下载| 网上玩百家乐会出签吗| 滨州市| 百家乐是不是有技巧| 958棋牌游戏| A8百家乐官网娱乐场| 百家乐黏土筹码| 百家乐官网庄闲必胜手段| 百家乐全程打庄|