javascript實現(xiàn)獲取字符串hash值
更新時間:2015年05月10日 16:26:49 投稿:hebedich
Hash 可以看作是一個 關聯(lián)數(shù)組,它對每一個值都綁定了一個唯一的鍵(值并不必須是唯一的), 然而,它不能保證迭代時元素的順序始終一致。因為 JavaScript 程序語言的特性,每個對象實際上都是一個 hash,下面我們就來詳細探討下。
性能很高的計算字符串或文件hash值的函數(shù),比md5速度快得多,自己一直用著,重復的幾率為很底,一般的應用足夠,
var I64BIT_TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-'.split(''); function hash(input){ var hash = 5381; var i = input.length - 1; if(typeof input == 'string'){ for (; i > -1; i--) hash += (hash << 5) + input.charCodeAt(i); } else{ for (; i > -1; i--) hash += (hash << 5) + input[i]; } var value = hash & 0x7FFFFFFF; var retValue = ''; do{ retValue += I64BIT_TABLE[value & 0x3F]; } while(value >>= 6); return retValue; }
以上所述就是本文的全部內容了,希望大家能夠喜歡。
相關文章
一文秒懂JavaScript構造函數(shù)、實例、原型對象以及原型鏈
這篇文章主要介紹了一文秒懂JavaScript構造函數(shù)、實例、原型對象以及原型鏈的相關知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08JavaScript遍歷json對象數(shù)據(jù)的方法
這篇文章介紹了JavaScript遍歷json對象數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04用于節(jié)點操作的API,顛覆原生操作HTML DOM節(jié)點的API
敏捷開發(fā)是一種以人為核心、迭代、循序漸進的開發(fā)方法。在敏捷開發(fā)中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特征。2010-12-12