JS 字符串的 哈希值

在做一个小游戏的时候, 刚开始用了 随机数,  感觉很假,  输入姓名, 点击确定, 获取 随机数,

现在用了 字符串的 哈希值, 不管在哪 输入, 输入多少次, 最终的结果都是一样的。

因为 姓名   对应的 哈希值 是不变

用姓名的哈希值 与 那个 数组  求余。

//获取字符串的 哈希值
function getHashCode(str,caseSensitive){
    if(!caseSensitive){
        str = str.toLowerCase();
    }
    var hash  =   1315423911,i,ch;
    for (i = str.length - 1; i >= 0; i--) {
        ch = str.charCodeAt(i);
        hash ^= ((hash << 5) + ch + (hash >> 2));
    }
    return  (hash & 0x7FFFFFFF);
}
时间: 2024-08-03 15:40:28

JS 字符串的 哈希值的相关文章

C# 计算字符串的哈希值(MD5、SHA)

一.关于本文 本文中是一个类库,包括下面几个函数: 1)计算32位MD5码(大小写):Hash_MD5_32 2)计算16位MD5码(大小写):Hash_MD5_16 3)计算32位2重MD5码(大小写):Hash_2_MD5_32 4)计算16位2重MD5码(大小写):Hash_2_MD5_16 5)计算SHA-1码(大小写):Hash_SHA_1 6)计算SHA-256码(大小写):Hash_SHA_256 7)计算SHA-384码(大小写):Hash_SHA_384 8)计算SHA-512

Linux shell下计算字符串的哈希值

今天无意发现在Linux上计算md5哈希值和在MacOS不太一样: Linux [[email protected] ~]# echo '123456' | md5sum f447b20a7fcbf53a5d5be013ea0b15af - Mac [[email protected] Notes]$md5 -s 123456 MD5 ("123456") = e10adc3949ba59abbe56e057f20f883e 仔细折腾一下, 原来是echo输出的字符串会默认添加一个换行

js 字符串获取对应的值

使用正则表达式获取字符串里对应的值,代码如下所示: val="http://www.cnblogs.com/baixc/?fc=man".replace(/^.+?fc\=/,''); alert(val);

HashSet 哈希值

字符串的哈希值 任何对象都有哈希值 在java.lang.Object类中 有方法如下,所以所有类的对象都可以调用这个方法 int hashCode() 返回该对象的哈希码值. 若没有重写父类的hashCode()方法 每次调用方法都返回不同的哈希值 java.lang.String 类 已经重写了父类java.lang.Object的hashCode()方法 所以对于"str1".hashCode() 的返回值无论运行多少次都一样 HashSet是怎么保证不存入重复元素的 要存入的元

jquery过滤特殊字符及js字符串转为数字

//替换特殊字符 $(this).val($(this).val().replace(/[~'!<>@#$%^&*()-+_=:]/g, "")); 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型返回的都是NaN(Not a Number). 一些示

上传图片用图片文件的对象hash哈希值判断图片是否一样,避免重复提交相同的图片到服务器中

/// <summary> /// 上传企业logo /// </summary> /// <returns></returns> public ActionResult UploadLogo(string comid) { HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; if (files.Count == 0) return Json("没有没文件

0003.js字符串操作

通过 + 连接符拼接字符串: var str1 = "hello"; str1 = str1 + " javaScript"; document.write(str1); 或者: var str1 = "hello"; str1 += " javaScript"; document.write(str1); 输出:hello javaScript 要在字符串中添加换行符,需要使用转义字符"\n",但这种方法

图像相似度计算之哈希值方法

感知哈希算法(perceptual hash algorithm),它的作用是对每张图像生成一个"指纹"(fingerprint)字符串,然后比较不同图像的指纹.结果越接近,就说明图像越相似. 实现步骤: 1.      缩小尺寸:将图像缩小到8*8的尺寸,总共64个像素.这一步的作用是去除图像的细节,只保留结构/明暗等基本信息,摒弃不同尺寸/比例带来的图像差异: 2.      简化色彩:将缩小后的图像,转为64级灰度,即所有像素点总共只有64种颜色: 3.      计算平均值:计

js字符串函数

JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a.concat(b);alert(c);//c = "hello,world"indexOf返回字符串中一个子串第一处出现的索引(从左到右搜索).如果没有匹配项,返回 -1 .var index1 = a.indexOf("l");//index1 = 2var ind