从Java脚本中的字符串生成哈希
我需要将字符串转换为某种形式的哈希。 这在JavaScript中可行吗? 我没有使用服务器端语言,所以我不能那样做。 #1楼 编辑 根据我的jsperf测试,可接受的答案实际上更快: http ://jsperf.com/hashcodelordvlad 原版的 如果有人感兴趣,这是一个改进的(更快的)版本,它将在缺少 reduce 数组功能的旧版浏览器上失败。 hashCode = function(s){ return s.split("").reduce(function(a,b){a=((a<<5)-a)+b.charCodeAt(0);return a&a},0); } 单线箭头功能版本: hashCode = s => s.split('').reduce((a,b)=>{a=((a<<5)-a)+b.charCodeAt(0);return a&a},0) #2楼 我需要一个类似的函数(但有所不同)来根据用户名和当前时间生成一个唯一的ID。 所以: window.newId = -> # create a number based on the username unless window.userNumber? window.userNumber = 0 for c,i in window.MyNamespace.userName char = window