javascript实现获取字符串hash值


Posted in Javascript onMay 10, 2015

性能很高的计算字符串或文件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;
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
用javascript获取地址栏参数
Dec 22 Javascript
24款热门实用的jQuery插件推荐
Dec 24 Javascript
JS实现控制表格单元格垂直对齐的方法
Mar 30 Javascript
jquery获取文档高度和窗口高度汇总
Jan 25 Javascript
分享我对JS插件开发的一些感想和心得
Feb 04 Javascript
JS实现图片预览的两种方式
Jun 27 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 jQuery
微信小程序实现自上而下字幕滚动
Jul 14 Javascript
koa上传excel文件并解析的实现方法
Aug 09 Javascript
详解vue中的computed的this指向问题
Dec 05 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
May 15 Javascript
vue 使用外部JS与调用原生API操作示例
Dec 02 Javascript
Javascript实现计算个人所得税
May 10 #Javascript
AngularJS基础知识笔记之表格
May 10 #Javascript
AngularJS基础知识笔记之过滤器
May 10 #Javascript
浅谈下拉菜单中的Option对象
May 10 #Javascript
AngularJS基础学习笔记之控制器
May 10 #Javascript
AngularJS基础学习笔记之指令
May 10 #Javascript
AngularJS基础学习笔记之表达式
May 10 #Javascript
You might like
PHP中的extract的作用分析
2008/04/09 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
2014/06/14 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
js中如何完美的解析数据
2018/03/18 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
使用异步controller与jQuery实现卷帘式分页
2019/06/18 jQuery
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python3实现生成随机密码的方法
2014/08/23 Python
浅谈Python中的bs4基础
2018/10/21 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
德国网上药房:Apotal
2017/04/04 全球购物
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
大学生创业计划书的范文
2014/01/07 职场文书
2016年寒假社会实践活动总结
2015/03/27 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
增值税发票丢失证明
2015/06/19 职场文书
手把手教你实现PyTorch的MNIST数据集
2021/06/28 Python