javascript实现获取字符串hash值
更新时间:2015年05月10日 16:26:49 投稿:hebedich
Hash 可以看作是一个 关联数组,它对每一个值都绑定了一个唯一的键(值并不必须是唯一的), 然而,它不能保证迭代时元素的顺序始终一致。因为 JavaScript 程序语言的特性,每个对象实际上都是一个 hash,下面我们就来详细探讨下。
性能很高的计算字符串或文件hash值的函数,比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;
}
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关文章
AngularJs 禁止模板缓存的方法
本篇文章主要介绍了AngularJs 禁止模板缓存的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
2017-11-11
JS trim去空格的最佳实践
学习框架的我,又来了。看到 String 对象扩展这一部分,对 trim() 这个经常被来来说的方法比较感兴趣
2011-10-10
JavaScript数组常用方法实例讲解总结
这篇文章主要介绍了JavaScript数组及常见方法,结合实例形式总结分析了JavaScript数组的基本获取、添加、删除、排序、翻转等相关操作技巧,需要的朋友可以参考下
2021-09-09
JavaScript模块管理的简单实现方式详解
这篇文章主要介绍了JavaScript模块管理的简单实现方式,它方便组织你的代码,提高项目的可维护性。一个项目的可维护性高不高,也体现一个程序员的水平,在如今越来越复杂的前端项目,这一点尤为重要。,需要的朋友可以参考下
2019-06-06
Webpack中使用环境变量的各种正确姿势
我们在开发项目中都会遇到这种场景,区分开发环境、生产环境、测试环境,不同场景请求不同的接口Api,这时候项目中配置的「环境变量」就登场啦,这篇文章主要给大家介绍了关于Webpack中使用环境变量的各种正确姿势,需要的朋友可以参考下
2021-09-09
js实现将选中值累加到文本框的方法
这篇文章主要介绍了js实现将选中值累加到文本框的方法,涉及javascript动态操作页面元素结点的相关技巧,非常简单实用,需要的朋友可以参考下
2015-08-08
js实现点击链接后窗口缩小并居中的方法
这篇文章主要介绍了js实现点击链接后窗口缩小并居中的方法,实例分析了javascript操作窗口的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
2015-03-03
js判断60秒以及倒计时示例代码
本篇文章主要是对js判断60秒以及倒计时的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
2014-01-01
最新评论