请问一个加密的问题,生成八位不重复字符

hexskyu 北京尚如阳光管理顾问有限公司 技术总监  2008-11-28 03:38:19
我想生成一组八位的不重复随机字符做为一新闻的生成静态网页的页面名字,但是用随机的方法会产生重复的,我想的是用MD5把新闻的标题加密来得到,但是只想要八位,所以我取MD5里面的A,B,C,D任一组出来,就是八位,但不知道这种方式有没有重复情况,发生重复的可能性大不大啊?怎么样才能得到八位不重复的字段啊,请高手指点
...全文
60 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dgboby 2008-12-01



var code;
function getcode(){

code = "";
var codeLength = 8;
var selectChar = new Array(1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z');
for(var i=0;i<codeLength;i++)
{

var charIndex = Math.floor(Math.random()*34);
code +=selectChar[charIndex];

}

return code;


}
var endcode;
endcode=Math.random()+getcode();
document.write(endcode)

//显示结果 0.42290559902354274Z8FLZEU5
回复
hexskyu 2008-12-01
高手指点一下啊
回复
hexskyu 2008-11-30
呵呵,电脑可能在一秒生成几个呢,我现在数据据里很多数据了,我想用程生成,我看过了,在一秒内重复的也不少啊,如果一秒只能生成一个,那电脑也太慢了啊。还有我主要是想要不是纯数字的,如http://hi.baidu.com/bahes/blog/item/54a4bd7e0f43bd3b0dd7da1b.html 后面的“54a4bd7e0f43bd3b0dd7da1b
回复
dgboby 2008-11-29



function getcode()
dim num1,rndnum,t,nn
Randomize
Do While Len(rndnum)<6
num1=CStr(Chr((57-48)*rnd+48))
rndnum=rndnum&num1
loop
t=time()
nn=second(t)&rndnum
'T变量是当前的时间转换,所以不可能有重复的.
n=n&nn
getcode=n
end function

response.write getcode()

回复
ilxl520 2008-11-28
需要这么复杂吗?
生成以后赋给一个数组,每次生成以前到数组里找一下嘛··
我个人看法··
回复
曹长科 2008-11-28
MD5取8为肯定也有重复数据
回复
hexskyu 2008-11-28
还有,我是要用到字母和数字,不是一定用数字的,要用到数字和字母的组合
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-11-28 03:38
社区公告
暂无公告