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);
}

 

posted @ 2015-12-28 18:25  328201736  阅读(5626)  评论(0编辑  收藏  举报