javascript实现获取字符串hash值

 更新时间:2015年05月10日 16:26:49   投稿:hebedich  
Hash 可以看作是一个 关联数组,它对每一个值都绑定了一个唯一的键(值并不必须是唯一的), 然而,它不能保证迭代时元素的顺序始终一致。因为 JavaScript 程序语言的特性,每个对象实际上都是一个 hash,下面我们就来详细探讨下。

性能很高的计算字符串或文件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时间处理总结

    在大家日常开发中常常会要对时间进行处理,以达到大家想要的效果,所以本文整理了一些javascript常用的时间处理类,有需要的可以参考借鉴。
    2016-08-08
  • 一文秒懂JavaScript构造函数、实例、原型对象以及原型链

    一文秒懂JavaScript构造函数、实例、原型对象以及原型链

    这篇文章主要介绍了一文秒懂JavaScript构造函数、实例、原型对象以及原型链的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • JavaScript遍历json对象数据的方法

    JavaScript遍历json对象数据的方法

    这篇文章介绍了JavaScript遍历json对象数据的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • 用于节点操作的API,颠覆原生操作HTML DOM节点的API

    用于节点操作的API,颠覆原生操作HTML DOM节点的API

    敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。
    2010-12-12
  • JavaScript Fetch API请求和响应拦截详解

    JavaScript Fetch API请求和响应拦截详解

    这篇文章主要为大家介绍了JavaScript Fetch API请求和响应拦截详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 微信小程序实现答题倒计时

    微信小程序实现答题倒计时

    这篇文章主要为大家详细介绍了微信小程序实现答题倒计时,自定义计时器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • uniapp微信小程序多环境配置以及使用教程

    uniapp微信小程序多环境配置以及使用教程

    前后端分离开发模式中,无论前后端都有可能区分不同的环境配置,下面这篇文章主要给大家介绍了关于uniapp微信小程序多环境配置以及使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • JavaScript中获取元素索引的函数

    JavaScript中获取元素索引的函数

    相信使用过jQuery的朋友都知道index()方法, 她可以很方便的帮你找到当前元素在元素集合中索引位置. 那么, 原生JavaScript中如何获取呢?
    2010-09-09
  • 原生js实现无缝轮播图效果

    原生js实现无缝轮播图效果

    这篇文章主要为大家详细介绍了原生js实现无缝轮播图效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • innerText和textContent对比及使用介绍

    innerText和textContent对比及使用介绍

    innerText使用过程中遇到了FireFox的兼容问题FireFox不支持innerText方法但是有个类似的方法,叫textContent,类似innerText,都是用来获取(设置)元素中text的方法,感兴趣的朋友可以参考下
    2013-02-02

最新评论