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 相关文章推荐
一个JS函数搞定网页标题(title)闪动效果
May 13 Javascript
jfinal与bootstrap的登录跳转实战演习
Sep 22 Javascript
jquery 获取select数组与name数组长度的实现代码
Jun 20 Javascript
bootstrap导航、选项卡实现代码
Dec 28 Javascript
vue-router跳转页面的方法
Feb 09 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
js定时器实现倒计时效果
Nov 05 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
Nov 27 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
浅谈vue引用静态资源需要注意的事项
Sep 28 Javascript
JS基于开关思想实现的数组去重功能【案例】
Feb 18 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
Aug 17 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
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
php实现CSV文件导入和导出
2015/10/24 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
浅谈Vuex的this.$store.commit和在Vue项目中引用公共方法
2020/07/24 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python之list对应元素求和的方法
2018/06/28 Python
解决Python使用列表副本的问题
2019/12/19 Python
dpn网络的pytorch实现方式
2020/01/14 Python
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
String和StringBuffer的区别
2015/08/13 面试题
医学毕业生自荐信
2013/10/11 职场文书
毕业生就业推荐信范文
2013/12/01 职场文书
民主生活会剖析材料
2014/09/30 职场文书
2014年内勤工作总结
2014/11/24 职场文书
工程质量保证书
2015/05/09 职场文书
python实现监听键盘
2021/04/26 Python
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python