一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

a1271916008 ? 來源:a1271916008 ? 作者:a1271916008 ? 2022-06-02 11:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是哈希/ Hash

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

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

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

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

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

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

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

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

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

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

// ELF Hash Function

unsignedintELFHash(char*str)

{

unsignedinthash = 0;

unsignedintx= 0;

while(*str)

{

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

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

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

//該處理,如果對于字符串(a-z或者A-Z)就會僅僅影響5-8位,否則會影響5-31位,因為C語言使用的算數(shù)移位

hash ^= (x >> 24);

//清空28-31位。

hash &= ~x;

}

}

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

return(hash & 0×7FFFFFFF);

}

常見哈希算法

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

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

例如計算

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

得到的結果將是

“db8305d71a9f2f90a3e118a9b49a4c381d2b80cf7bcef81930f30ab1832a3c90”。

對于某個文件,無需查看原始內容,只要其 SHA-256 Hash 計算后結果相同,則說明該文件內容極大概率就是一樣的。

審核編輯:符乾江

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

    關注

    2

    文章

    834

    瀏覽量

    29741
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86458
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(游戲

    十年前藏的現(xiàn)金一樣驚喜?。┻@些藏在文檔深處的\"武功秘籍\",能幫我們輕松實現(xiàn)分布式游戲、跨端協(xié)同這些聽起來很酷的功能??焐宪?,帶你解鎖鴻蒙開發(fā)的正確姿勢! 一、分布式游戲手柄
    發(fā)表于 06-03 18:22

    Arm亮相2025年游戲開發(fā)者大會

    近日,成千上萬的人聚集在美國舊金山的馬斯康尼中心參加 2025 年游戲開發(fā)者大會 (GDC 2025)。全球開發(fā)者齊聚一堂,探討如何利用技術塑造手游的未來。鑒于 99% 的高端智能手機均基于 Arm 技術打造,Arm 持續(xù)在提供
    的頭像 發(fā)表于 04-01 13:51 ?456次閱讀

    路賦能游戲鴻蒙化適配,鴻蒙游戲開發(fā)者服務煥新升級

    3月14日,華為游戲中心在成都開展了鴻蒙游戲開發(fā)者服務日線下活動。本次活動吸引了百余位游戲廠商代表以及開發(fā)者參與。華為一線技術專家團隊與眾多
    的頭像 發(fā)表于 03-17 09:25 ?397次閱讀
    全<b class='flag-5'>鏈</b>路賦能<b class='flag-5'>游戲</b>鴻蒙化適配,鴻蒙<b class='flag-5'>游戲</b><b class='flag-5'>開發(fā)</b>者服務煥新升級

    亞馬遜云科技推出Amazon GameLift Streams助力開發(fā)者實現(xiàn)游戲全平臺跨設備串流

    亞馬遜云科技全新功能可助力游戲開發(fā)者觸達全球更多玩家,拓展變現(xiàn)機會并提升收入 ? 北京 ——2025 年 3 月 13 日 亞馬遜云科技宣布推出全托管游戲串流解決方案Amazon GameLift
    發(fā)表于 03-13 13:36 ?174次閱讀

    如何安裝模擬器玩nes小游戲-基于米爾瑞芯微RK3576開發(fā)

    本篇源自:優(yōu)秀創(chuàng)作者 小手涼涼本文將介紹基于米爾電子MYD-LR3576開發(fā)板(米爾基于瑞芯微 RK3576開發(fā)板)的安裝模擬器玩nes小游戲方案測試。 核心板系統(tǒng) 操作系統(tǒng)鏡像文件說明
    發(fā)表于 02-08 12:10

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

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

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

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

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

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

    FPGA打磚塊小游戲設計思路

    HDL,?Vivado 平臺上開發(fā)打磚塊小游戲并使用 PS2 與 VGA 的基本思路: 一、整體架構設計 1. 輸入模塊: ? PS2 接口模塊:負責與 PS2 設備(如游戲手柄)進行通信,接收手柄
    的頭像 發(fā)表于 12-09 16:57 ?895次閱讀

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

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

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

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

    2024 VDC游戲生態(tài)分會場:共創(chuàng)共贏,開啟游戲新篇章

    2024年vivo開發(fā)者大會(VDC)在廣東深圳于10月10日順利召開,大會以“同心·同行”為主題 ,設有1個主會場和8個分會場。在游戲生態(tài)分會場中,vivo向游戲開發(fā)者、行業(yè)專家、生
    發(fā)表于 10-12 14:37 ?384次閱讀
    2024 VDC<b class='flag-5'>游戲</b>生態(tài)分會場:共創(chuàng)共贏,開啟<b class='flag-5'>游戲</b>新篇章

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

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

    谷歌發(fā)布革命性AI游戲引擎GameNGen

    谷歌近期震撼推出全球首款完全由人工智能驅動的游戲引擎——GameNGen,這一創(chuàng)新技術標志著游戲開發(fā)領域的新紀元。GameNGen憑借其強大的計算能力,能夠在單個TPU實現(xiàn)每秒20幀
    的頭像 發(fā)表于 08-29 18:07 ?1122次閱讀

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

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