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 相关文章推荐
jquery的$(document).ready()和onload的加载顺序
May 26 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
Dec 18 Javascript
JSON.parse()和JSON.stringify()使用介绍
Jun 20 Javascript
对JavaScript中this指针的新理解分享
Jan 31 Javascript
Javascript如何判断数据类型和数组类型
Jun 22 Javascript
全面了解JS中的匿名函数
Jun 29 Javascript
PhotoSwipe异步动态加载图片方法
Aug 25 Javascript
javascript函数的四种调用模式
Jan 08 Javascript
Angular2实现自定义双向绑定属性
Mar 22 Javascript
React降级配置及Ant Design配置详解
Dec 27 Javascript
js 实现 list转换成tree的方法示例(数组到树)
Aug 18 Javascript
Element Dialog对话框的使用示例
Jul 26 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
世界上第一台立体声收音机
2021/03/01 无线电
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
php while循环控制的简单实例
2016/05/30 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
深入理解JavaScript的async/await
2018/08/05 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
2019/07/06 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
python实现每次处理一个字符的三种方法
2014/10/09 Python
Python实现感知机(PLA)算法
2017/12/20 Python
Python遍历pandas数据方法总结
2018/02/09 Python
python协程gevent案例 爬取斗鱼图片过程解析
2019/08/27 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
Omio西班牙:全欧洲低价大巴、火车和航班搜索和比价
2017/02/11 全球购物
商得四方公司面试题(gid+)
2014/04/30 面试题
大学生实习自我鉴定
2013/12/11 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
Python机器学习之底层实现KNN
2021/06/20 Python
Java异常处理try catch的基本用法
2021/12/06 Java/Android
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL
python自动获取微信公众号最新文章的实现代码
2022/07/15 Python