當前位置:股票大全官網 - 基金投資 - 哈希表查找的相關概念

哈希表查找的相關概念

HASH全稱是“Hash House Harriers”(簡稱“Hash"、“HHH”,或“ 3H” ),是壹項世界性的休閑活動,起源於1938年馬來西亞的吉隆坡,如今在全世界184個國家幾千個城市中都有開展,包括中國的北京、廣州、上海、深圳、烏魯木齊等城市。

Hash活動沒有固定的成員和組織,也不存在固定的模式,各個城市的具體做法各有不同,但所有的hash都有兩個***同的主題:跑步和啤酒,其參加者也因此自稱“The running club with a drinking problem”。經過幾十年的發展,hash活動已經超越簡單的體育鍛煉活動,而形成了壹種特色鮮明、獨具魅力的文化。

壹、Hash活動崇尚壹種自然健康、團結友愛、積極向上、挑戰自我的精神。

Hash中最重要的壹件事就是跑步,而且是有趣味、有難度的跑步。每次活動都有壹兩名參加者誌願充當“兔子”(hare)的角色,事先在野外設置好錯綜復雜的路線,而自稱為獵狗(harriers)的參加者則追蹤而至,頂著烈日驕陽或淋著瓢潑大雨,尋找兔子留下的蛛絲馬跡。不論是攀山越嶺還是涉水過河,是披荊斬棘還是踏汙踩糞,只要是兔子布下的路線,獵狗們就義無反顧地壹跑到底,決不偷工減料。這樣壹兩個小時跑下來,不僅鍛煉了身體,更磨煉了意誌。獵狗們在追蹤過程中,每到壹個岔路口,都需要分工協作,分頭找路,才能最快地找到正確的道路。而遇上溝溝坎坎或荊棘刺叢的時候,參加者更是會伸出手來互相幫助。如果有人迷了路,他不僅會經歷壹次對自己應變能力的挑戰,更將體會到同伴在尋找他的過程中表現出來的團結和友愛。

二、Hash活動體現了壹種幽默、開朗、豁達而且自然隨意的生活態度。

在鋼筋混凝土叢林中忙碌的現代人最需要的就是貼近自然,放松緊張的身心,而這也正是參加hash的人們所推崇的生活方式。

幽默可是說是全世界hash參加者的***性。他們最擅長的就是自嘲——自稱為“獵狗”,海口的hash參加者還自稱為“害蟲”,每個人有壹個可笑甚至惡心的外號,比如“賣女孩的小火柴”、“肉肉”、“骯臟的魚”等等。唱歌、講故事、說笑話、相互捉弄、插科打諢……每壹次hash活動都充滿歡笑和快樂。

看看沾滿泥水的跑鞋和掛滿草刺的小腿,暢飲壹口冰啤酒高歌壹曲,不由得豪氣頓生,早不見了辦公室裏拘謹刻板的模樣。新老朋友壹起在空曠的野外大聲喊叫,放肆地說笑話逗樂子,縱情地歌唱和歡笑,在音樂聲中又鬧又跳,疲倦的是軀體,而心靈得到了徹底的放松。

Hash活動過程中不準從事商業活動,不準打手機,不準談工作,所有參加者都以綽號互稱,遠離銅臭氣和復雜的人事關系,為純真的友誼提供了生長的環境。難怪Hash裏面許多人成了意氣相投的好朋友之後,才猛然發現原來自己連對方是做什麽生意的、有沒有結婚都不知道。

Hash活動不以營利為目的,每次活動的結余歸入基金供大活動時支出;所有工作都由參加者齊心協力地完成;每期的兔子可以按自己的意願自由地組織壹次跑步。這正是hash的魅力所在:為參加者提供壹個可以盡情展現真我的機會。

正是出於對大自然的熱愛,Hash參加者們對環境保護尤為重視。空瓶空罐絕對不允許亂扔、垃圾袋必須是可降解塑料做的、不準拈花惹草、不得踩壞莊稼、等等,這些規矩都是每壹位hash參加者嚴格恪守,並在生活中也身體力行的。海口hash的參加者還曾組織過在五指山頂、牙龍灣、尖峰嶺等風景點清理垃圾的活動。

三、Hash還是壹項各種文化匯集、交流的活動。

Hash活動不僅僅是體育休閑活動。Hash參加者強烈的表現欲在這壹寬松的環境中得到鼓勵和張揚。他們創造了種種個性鮮明的hash徽標,改編了上千首hash歌曲,制作了不計其數的、風格各異的T恤、帽子、杯墊,出版了大量或精美或簡陋然而同樣精彩的hash雜誌、報紙、宣傳冊,在Internet上,只要輸入“hash”或者“hhh”進行搜索,可以發現成百上千個hash網站。可以說,hash已經有了自己的文化。參加過hash活動後,有人可能會不喜歡這種文化,可是沒有人會忘記這樣壹種文化。它自有它獨特的、令人無法忘懷的風味。

在衍生出自己的文化之外,Hash活動從壹開始就體現了不同文化的碰撞和交流。第壹次hash跑步,就是由旅居馬來西亞的英國人組織的。世界各地的hash,吸引了各種各樣不同文化的人參加,尤其是旅居當地的外國人。這壹點在英美之外的國家的hash中特別明顯。因此,hash除了帶有明顯的英美文化氣息外,還成了各種文化交匯融合的活動。像在中國的大多數hash,就成了各種外國人和中國人***同喜愛的活動,英語成為主要的交流手段,而他們的徽標、T恤設計中卻透著濃郁的中國文化氣息。Hash還是壹個全球性的休閑活動,除了各地自有的hash活動,還有定期舉行的“泛亞hash”、“泛太平洋hash”等等區域性的活動,每四年還有壹次“全球hash”。這種大規模的hash,更是雲集來自世界各地的愛好者,無形中也就是壹次文化的盛會。Hash活動於生俱來的寬容和自由的特性,為各種不同文化背景的參加者提供了壹個平等、寬松、隨意、自由發揮的環境。所有的參加者自由地來,自由地去,各人對各人的言行和安全負責,不論國籍、年齡、種族、膚色、職業、教育程度如何,都只是“獵狗”或者“兔子”這兩種角色之壹種,以綽號相稱,甚至真名都不為人知。在“跑步”和“啤酒”這兩個主題下,參加者們徹底放下面子和成見,打破各種人為的隔閡和壁壘,真正玩到壹塊兒,發展友誼,取長補短,盡情展現各自的風采。

海口的hash最早也是由外國人發起,除了旅居海口的外國人,還吸引了許多外企的白領和英語愛好者參加。後來由於愛好hash的外國人逐漸離開海口,現在參加海口hash的主要是中國人,其中大部分是旅居海口的內地人。Hash本身的淵源、活動形式及其精神都帶有濃厚的西方文化色彩,必然會對其參與者造成壹定的影響,而中國古老的文化也給海口hash烙上獨特的印跡。

海口hash的參與者有老有少、有男有女,分別來自社會各個層面,有著不同的文化素養和人生觀。他們來參加hash,不僅面對hash本身具有的西方文化的沖擊,而且也面臨著相互間不同觀念帶來的沖突。但只要是熱愛運動和自然的人,在接受hash的同時,也就會接受hash寬容、自由的氛圍及其多姿多彩的文化,自然也就會變得更寬容、更善於理解他人。

正是由於hash具有這樣獨特的文化魅力,這項休閑活動才持續了近70年而不衰,風靡全球幾千個城市,受到各界的廣泛關註。尤其是定期舉行的跨地區的hash,比如環亞太地區的hash,或者環東南亞的hash,每次都在不同的城市舉行,對於舉辦城市來說,這無疑是當地旅遊業發展的壹次良好契機。

新聞

四川新聞網-成都商報訊 “兔子快跑,不要回頭看,5只獵狗就在妳身後,就要追上來了。”昨日下午,以玉林北路為中心,東南西北四個方向的大街上,突然出現了20多個在炎炎烈日下,流著大汗不停奔跑的年輕人。他們是“成都在線”的年輕網友們,他們將整個城市當成了他們的“遊樂場”,玩起了風靡全球的健康休閑遊戲——“城市獵狗行動”。看來,這種客居異鄉的外國人的傳統聚會方式已漸漸變成成都白領熱愛的休閑活動。

名詞解釋

城市獵狗行動全稱為Hash House Harriers,是壹項世界性的休閑健身活動,代表的是壹種健康、真實、自然而又稍帶壹點另類氣息的生活態度。在全世界的幾千個城市中都有開展。HASH活動並沒有固定的模式,各個城市的做法各有不同,也不存在固定的HASH成員和組織,但跑步和啤酒是所有HASH中不可缺少的。

HASH規則源於傳統的英國式的紙片追蹤遊戲。現在,HASH已經遍及全世界,許多人甚至以到世界各地參加HASH、收集不同的HASH T恤為樂。第壹次比賽時,輸的壹方必須坐冰。

行動規則

兔子先跑,

獵狗按箭頭追

昨日下午2時許,陸續有網友出現在玉林北路的凹凸酒吧裏。“我是兔子,網名‘笑死人了’報到”,“我是獵狗,網名‘大乖’,我分在哪壹組哦?”面對這群嘰嘰喳喳的年輕人,工作人員“冰心洋娃娃”等吼到聲音發啞才將他們壹壹安排到位:兔子8人,穿上統壹的紅色T恤,分東南西北四個方向跑,每個方向兩人,壹男壹女。獵狗19人,按方向分著白、藍、綠、黑色T恤。

扮兔子的人手壹冊地圖,他們將按照地圖上的路線逃跑。兔子出發15分鐘後,獵狗開始行動,他們事先不知道兔子的奔跑路線,只能根據兔子在每個轉彎處留下的箭頭進行尋找。在兔子跑回酒吧前,如果獵狗抓到壹只兔子,獵狗就贏了,反之,就算兔子贏。

捕獵開始

跑暈了,

兔子被獵狗

堵在門口吃掉

“預備,跑!”下午3時10分,8只兔子踏上了逃命之旅,為防作弊,他們的手機全被隨隊人員繳獲。東線,經壹環路、科華路、人民南路等處回到起點;南線,經神仙樹北路、倪家橋等處;西線,經芳草街、肖家河沿街、永豐立交橋、玉林南路等;北線,經壹環路、洗面橋街、電信路、人民南路等。

滿懷信心,北線兔子—“麥子”和“阿拉蕾”用了十多秒就跑到了第壹個路口,他們在地上貼上了第壹個轉彎標誌——壹個寬約15厘米,長約30厘米的不幹膠箭頭。太陽當空照,又跑了100多米,“阿拉蕾”再也跑不動了,“麥子”只好忍痛拋下她繼續逃命。跑到電信路時,“麥子”已經累得無法邁步了,不時向後張望,生怕獵狗追上來了。“妳們在比賽喲,加油,小夥子!”路邊壹位大爺見狀忙給他打氣。在大爺的鼓勵下,“麥子”又來了精神。3時50分左右,“麥子”第壹個成功逃脫追捕,回到酒吧。

而其他各線情況就有些不妙了——西線兔子貼錯了路標,東線獵狗“大乖”稀裏糊塗抄了近路。南線兔子“天才狼”更絕,由於路線錯得太離譜,他比所有人晚到了近半個小時,不幸成為獵狗們在酒吧門口用守株待兔的方法抓到的惟壹壹只兔子。

懲罰方式

坐在冰堆上,將壹瓶啤酒喝光

盡管獵狗們對比賽規則持諸多保留意見,比如等待15分鐘太長,兔子們留在路上的箭頭容易被路人或風帶走等,但經大家友好協商,組織者“成都在線”管理員“蛇蠍子”仍判定東線和北線兔子贏,南線和貼錯了路標的西線兔子輸。迎接輸家的將是全球通行的懲罰方式——在刺骨的冰塊堆上坐著喝完壹瓶啤酒。

在尖叫聲中,上千塊冰塊分兩層鋪到了壹張椅子上。“天才狼”被罰第壹個坐冰塊。但屁股剛挨到椅子,“天才狼”就被冷得彈了起來,在掌聲和笑聲中,兩名網友上前按住他的肩,他只好強忍寒冷,大喊著“涼快”,喝完了啤酒。除了西線兔子“笑死人了”辯解成功外,剩下的輸家都壹壹坐上了冰椅。

組織者說

耍的就是壹個“鮮”

“成都在線”網站管理員“蛇蠍子”告訴記者,幾個月前他偶然在網上看到了風靡全球的“城市獵狗行動”——HASH,於是,兩個星期前,他們開始籌劃成都網友自己的HASH,並制作了衣服和路標。“成都在線”的網友們大多是年輕人,不喜歡打麻將鬥地主,追求的是壹種屬於城市年輕人的獨特耍法,要的就是積極健康,新鮮刺激。“我們大多數人都不知道彼此的真實姓名和職業,這讓我們可以拋開各自現實生活中的身份和地位,在運動和體驗中獲得壹種單純的快樂,這就是我們所要的耍法”。

據悉,“成都在線”的網友們常常在網上發起各種新鮮的玩耍方式,比如“城市邊緣角色體驗”、“車聊”等,哪個網友想參加活動,留下自己的網名和聯系方式即可。

網友自白

坐煩了,

何不出來遛遛?

參加昨日“城市獵狗行動”的網友,大多是年齡在25歲左右的年輕人,不少是金融業、策劃行業、設計行業的白領人士。平時,他們大多呆在寫字樓裏,缺乏運動,昨日,他們獲得了壹次難得的放松。

“麥子”(平面設計師)——

盡管我是第壹個到達終點的“兔子”,但平時,我成天呆在辦公室裏,很少有機會活動筋骨。唉,工作忙啊。所以壹看到網友們在組織這個活動,我高興壞了,馬上就報名當壹只“兔子”。盡管被5只“獵狗”追,但我很有信心。不過這壹趟跑下來,我簡直累得上氣不接下氣,看來,得加強鍛煉了。

“大乖”(電子科大大四學生)——

我是被大家公認為跑得最快的“獵狗”,只差10秒鐘就抓到“兔子”了。其實他們哪裏曉得,我是因為不識路才抄了近路,正所謂“塞翁失馬焉知非福”呵。

我馬上就快畢業了,將和他們壹樣,坐進寫字樓,以電梯代步,運動的機會越來越少了。所以,這次行動我豈能錯過!

基本知識

Hash,壹般翻譯做“散列”,也有直接音譯為”哈希“的,就是把任意長度的輸入(又叫做預映射, pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是壹種壓縮映射,也就是,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,而不可能從散列值來唯壹的確定輸入值。簡單的說就是壹種將任意長度的消息壓縮到某壹固定長度的消息摘要的函數。

HASH主要用於信息安全領域中加密算法,他把壹些不同長度的信息轉化成雜亂的128位的編碼裏,叫做HASH值. 也可以說,hash就是找到壹種數據內容和數據存放地址之間的映射關系

了解了hash基本定義,就不能不提到壹些著名的hash算法,MD5 和 SHA1 可以說是目前應用最廣泛的Hash算法,而它們都是以 MD4 為基礎設計的。那麽他們都是什麽意思呢?

這裏簡單說壹下:

(1) MD4

MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年設計的,MD 是 Message Digest 的縮寫。它適用在32位字長的處理器上用高速軟件實現--它是基於 32 位操作數的位操作來實現的。

(2) MD5

MD5(RFC 1321)是 Rivest 於1991年對MD4的改進版本。它對輸入仍以512位分組,其輸出是4個32位字的級聯,與 MD4 相同。MD5比MD4來得復雜,並且速度較之要慢壹點,但更安全,在抗分析和抗差分方面表現更好

(3) SHA1 及其他

SHA1是由NIST NSA設計為同DSA壹起使用的,它對長度小於264的輸入,產生長度為160bit的散列值,因此抗窮舉(brute-force)性更好。SHA-1 設計時基於和MD4相同原理,並且模仿了該算法。

那麽這些Hash算法到底有什麽用呢?

Hash算法在信息安全方面的應用主要體現在以下的3個方面:

(1) 文件校驗

我們比較熟悉的校驗算法有奇偶校驗和CRC校驗,這2種校驗並沒有抗數據篡改的能力,它們壹定程度上能檢測並糾正數據傳輸中的信道誤碼,但卻不能防止對數據的惡意破壞。

MD5 Hash算法的"數字指紋"特性,使它成為目前應用最廣泛的壹種文件完整性校驗和(Checksum)算法,不少Unix系統有提供計算md5 checksum的命令。

(2) 數字簽名

Hash 算法也是現代密碼體系中的壹個重要組成部分。由於非對稱算法的運算速度較慢,所以在數字簽名協議中,單向散列函數扮演了壹個重要的角色。 對 Hash 值,又稱"數字摘要"進行數字簽名,在統計上可以認為與對文件本身進行數字簽名是等效的。而且這樣的協議還有其他的優點。

(3) 鑒權協議

如下的鑒權協議又被稱作挑戰--認證模式:在傳輸信道是可被偵聽,但不可被篡改的情況下,這是壹種簡單而安全的方法。以上就是壹些關於hash以及其相關的壹些基本預備知識。那麽在emule裏面他具體起到什麽作用呢?

什麽是文件的hash值呢?

大家都知道emule是基於P2P (Peer-to-peer的縮寫,指的是點對點的意思的軟件), 它采用了"多源文件傳輸協議”(MFTP,the Multisource FileTransfer Protocol)。在協議中,定義了壹系列傳輸、壓縮和打包還有積分的標準,emule 對於每個文件都有md5-hash的算法設置,這使得該文件獨壹無二,並且在整個網絡上都可以追蹤得到。

MD5-Hash-文件的數字文摘通過Hash函數計算得到。不管文件長度如何,它的Hash函數計算結果是壹個固定長度的數字。與加密算法不同,這壹個Hash算法是壹個不可逆的單向函數。采用安全性高的Hash算法,如MD5、SHA時,兩個不同的文件幾乎不可能得到相同的Hash結果。因此,壹旦文件被修改,就可檢測出來。

當我們的文件放到emule裏面進行***享發布的時候,emule會根據hash算法自動生成這個文件的hash值,他就是這個文件唯壹的身份標誌,它包含了這個文件的基本信息,然後把它提交到所連接的服務器。當有他人想對這個文件提出下載請求的時候, 這個hash值可以讓他人知道他正在下載的文件是不是就是他所想要的。尤其是在文件的其他屬性被更改之後(如名稱等)這個值就更顯得重要。而且服務器還提供了,這個文件當前所在的用戶的地址,端口等信息,這樣emule就知道到哪裏去下載了。

壹般來講我們要搜索壹個文件,emule在得到了這個信息後,會向被添加的服務器發出請求,要求得到有相同hash值的文件。而服務器則返回持有這個文件的用戶信息。這樣我們的客戶端就可以直接的和擁有那個文件的用戶溝通,看看是不是可以從他那裏下載所需的文件。

對於emule中文件的hash值是固定的,也是唯壹的,它就相當於這個文件的信息摘要,無論這個文件在誰的機器上,他的hash值都是不變的,無論過了多長時間,這個值始終如壹,當我們在進行文件的下載上傳過程中,emule都是通過這個值來確定文件。

那麽什麽是userhash呢?

道理同上,當我們在第壹次使用emule的時候,emule會自動生成壹個值,這個值也是唯壹的,它是我們在emule世界裏面的標誌,只要妳不卸載,不刪除config,妳的userhash值也就永遠不變,積分制度就是通過這個值在起作用,emule裏面的積分保存,身份識別,都是使用這個值,而和妳的id和妳的用戶名無關,妳隨便怎麽改這些東西,妳的userhash值都是不變的,這也充分保證了公平性。其實他也是壹個信息摘要,只不過保存的不是文件信息,而是我們每個人的信息。

那麽什麽是hash文件呢?

我們經常在emule日至裏面看到,emule正在hash文件,這裏就是利用了hash算法的文件校驗性這個功能了,文章前面已經說了壹些這些功能,其實這部分是壹個非常復雜的過程,目前在ftp,bt等軟件裏面都是用的這個基本原理,emule裏面是采用文件分塊傳輸,這樣傳輸的每壹塊都要進行對比校驗,如果錯誤則要進行重新下載,這期間這些相關信息寫入met文件,直到整個任務完成,這個時候part文件進行重新命名,然後使用move命令,把它傳送到incoming文件裏面,然後met文件自動刪除,所以我們有的時候會遇到hash文件失敗,就是指的是met裏面的信息出了錯誤不能夠和part文件匹配,另外有的時候開機也要瘋狂hash,有兩種情況壹種是妳在第壹次使用,這個時候要hash提取所有文件信息,還有壹種情況就是上壹次妳非法關機,那麽這個時候就是要進行排錯校驗了。

關於hash的算法研究,壹直是信息科學裏面的壹個前沿,尤其在網絡技術普及的今天,他的重要性越來越突出,其實我們每天在網上進行的信息交流安全驗證,我們在使用的操作系統密鑰原理,裏面都有它的身影,特別對於那些研究信息安全有興趣的朋友,這更是壹個打開信息世界的鑰匙,他在hack世界裏面也是壹個研究的焦點。