js随机生成hash值
来源:互联网 发布:网络机顶盒 编辑:程序博客网 时间:2024/06/06 07:32
本篇简单介绍如何随机生成一个hashcode
//产生一个hash值,只有数字,规则和java的hashcode规则相同function hashCode(str) { var h = 0; var len = str.length; var t = 2147483648; for (var i = 0; i < len; i++) { h = 31 * h + str.charCodeAt(i); if (h > 2147483647) h %= t; //java int溢出则取模 } /*var t = -2147483648 * 2; while (h > 2147483647) { h += t }*/ return h;}//时间戳来自客户端,精确到毫秒,但仍旧有可能在在多线程下有并发,//尤其hash化后,毫秒数前面的几位都不变化,导致不同日期hash化的值有可能存在相同,//因此使用下面的随机数函数,在时间戳上加随机数,保证hash化的结果差异会比较大/* ** randomWord 产生任意长度随机字母数字组合 ** randomFlag-是否任意长度 min-任意长度最小位[固定位数] max-任意长度最大位 ** 用法 randomWord(false,6);规定位数 flash * randomWord(true,3,6);长度不定,true * arr变量可以把其他字符加入,如以后需要小写字母,直接加入即可 */function randomWord(randomFlag, min, max) { var str = "", range = min, arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; // 随机产生 if (randomFlag) { range = Math.round(Math.random() * (max - min)) + min; } for (var i = 0; i < range; i++) { pos = Math.round(Math.random() * (arr.length - 1)); str += arr[pos]; } return str;}//获取hashcodefunction gethashcode() { //定义一个时间戳,计算与1970年相差的毫秒数 用来获得唯一时间 var timestamp = (new Date()).valueOf(); var myRandom=randomWord(false,6); var hashcode=hashCode(myRandom+timestamp.toString()); return hashcode;}
阅读全文
0 0
- js随机生成hash值
- js 笔记 -- 随机生成颜色值
- JS生成随机十六进制颜色值
- JS生成随机颜色
- js生成随机字母
- JS生成随机字符
- JS随机生成密码
- js 随机生成颜色
- js生成随机编号
- js 随机生成颜色
- js 生成随机字符串
- js随机生成颜色
- js 生成随机颜色
- JS生成随机字符串
- js随机生成字符
- js 生成随机颜色
- js随机颜色生成
- js随机生成数组
- 01-天亮大数据系统教程之初识Hadoop
- [设计]责任链模式
- get_image_pointer1
- python核心编程读书笔记--第2章 入门
- js任意进制转换--parseInt与toString
- js随机生成hash值
- Echart折线图 Sql总结
- [BZOJ3594]二维树状数组优化DP
- Android学习-Fragment(上)
- 【OpenCV学习笔记】1:配置开发环境
- linux 安装python-opencv
- Best Time to Buy and Sell Stock II
- 【面试题】Java三大特性封装继承多态总结
- STC15系列单片机-PWM模块