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作用域容易记错的两个地方分析
Jun 22 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
Mar 05 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
Nov 03 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
Mar 09 Javascript
validationEngine 表单验证插件使用实例代码
Jun 15 Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 Javascript
javascript实现QQ空间相册展示源码
Dec 12 Javascript
Vue shopCart 组件开发详解
Jan 26 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
Aug 13 Javascript
JS返回页面时自动回滚到历史浏览位置
Sep 26 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 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如何利用P3P实现跨域
2013/08/24 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
PHP创建对象的六种方式实例总结
2019/06/27 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
python自动化测试之setUp与tearDown实例
2014/09/28 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
pygame游戏之旅 添加游戏暂停功能
2018/11/21 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
商务英语应届生自我鉴定
2013/12/08 职场文书
企业门卫岗位职责
2013/12/12 职场文书
数学教学随笔感言
2014/02/17 职场文书
抽样调查项目计划书
2014/04/24 职场文书
年检委托书
2014/08/30 职场文书
党员自我评议个人对照检查材料
2014/09/16 职场文书
2014年工程工作总结
2014/11/25 职场文书
大学生入党自传2015
2015/06/26 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书
利用Pycharm连接服务器的全过程记录
2021/07/01 Python
Python OpenCV实现图像模板匹配详解
2022/04/07 Python