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 相关文章推荐
页面只有一个text的时候,回车自动submit的解决方法
Aug 12 Javascript
javascript attachEvent绑定多个事件执行顺序问题
Oct 20 Javascript
javascript匿名函数实例分析
Nov 18 Javascript
原生javascript实现图片弹窗交互效果
Jan 12 Javascript
JavaScript+CSS无限极分类效果完整实现方法
Dec 22 Javascript
jQuery版AJAX简易封装代码
Sep 14 Javascript
JS ES6多行字符串与连接字符串的表示方法
Apr 26 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
May 17 Javascript
React Native使用百度Echarts显示图表的示例代码
Nov 07 Javascript
Vuex入门到上手教程
Jun 20 Javascript
JS数组实现分类统计实例代码
Sep 30 Javascript
微信小程序使用swiper组件实现层叠轮播图
Nov 04 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自定义hash函数实例
2015/05/05 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
2017/08/16 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
基于vuex实现购物车功能
2021/01/10 Vue.js
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
python基础教程之udp端口扫描
2014/02/10 Python
使用Python的内建模块collections的教程
2015/04/28 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
python用requests实现http请求代码实例
2019/10/31 Python
Python模块的制作方法实例分析
2019/12/21 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
node中使用shell脚本的方法步骤
2021/03/23 Javascript
期终自我鉴定
2014/02/17 职场文书
新闻编辑求职信
2014/07/13 职场文书
英语系毕业生求职信
2014/07/13 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android