搭建论坛《搭建之星》论坛经验交流 → 由ID怎么生成序列号


  共有2910人关注过本帖树形打印

主题:由ID怎么生成序列号

帅哥哟,离线,有人找我吗?
sheyouyou
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:爱好者 帖子:41 积分:274 威望:0 精华:0 注册:2008-2-10 13:14:05
由ID怎么生成序列号  发帖心情 Post By:2008-5-11 14:45:42

有没有由ID 生成唯一序列号的方法或算法 最好算法能用密钥生成不同算法,ID能够得到不同算法产生的序列号。并且我需要的是由数字生成数字,ID<=8位,序列号<=10位。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
admin
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搭建官方
等级:管理员 帖子:5504 积分:20561 威望:9 精华:5 注册:2002-4-5 17:08:42
  发帖心情 Post By:2008-5-11 15:27:31

没有完全看明白,举个例子.

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
sheyouyou
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:爱好者 帖子:41 积分:274 威望:0 精华:0 注册:2008-2-10 13:14:05
  发帖心情 Post By:2008-5-11 17:26:44

比如我有:0001,0002,0003,0004 4个数A1,A2,A3,A4

要生成: 6151,5431,1651,2156 分别是B1,B2,B3,B4

数字A1通过某种可逆的算法得到唯一的B1,B1可以通过逆算法得到唯一的A1,而算法本身可以带入参数。整个过程和Base64编码一样,只是BASE64编码生成的是字符串,且生成的字符串比原码长1/3。而我用在条形码上,载体不能容纳下较长的字符串。所以我需要由不重复的数字通过某种算法生成另外一个不重复的数字

希望能提供算法设计思路

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
FSJM
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2323 积分:6885 威望:9 精华:0 注册:2002-10-23 13:50:52
  发帖心情 Post By:2008-5-12 6:53:51

你的A(1,2,3,4...)是有序的,而B(1,2,3,4...)要无序的,这种“互逆不重复”是很难的。

最简单的办法是建对照表(A,B),A是你的序号,B是你要的数;每增加一个记录,随机产生你要的数字串,到表中去查询,如果发现,则重新生成,否则增加。

“互逆”通过查询实现。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
admin
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 搭建官方
等级:管理员 帖子:5504 积分:20561 威望:9 精华:5 注册:2002-4-5 17:08:42
  发帖心情 Post By:2008-5-12 7:30:44

“有序” 生成 “有序”是相对容易的,但生成“无序不重复”,几乎不可能;这个问题可以测试人头脑的智商。

注意:不能使用“4楼”类似的方法。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
sheyouyou
  6楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:爱好者 帖子:41 积分:274 威望:0 精华:0 注册:2008-2-10 13:14:05
  发帖心情 Post By:2008-5-12 11:25:49

两位高手说得对有序变无序不用替换对照表太难了,而替换对照表小了也没什么意义。再加上要可逆,位移也不好用,动态选择替换的数字也不能。还是不用算法,建表了。谢谢两位


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
洪滨
  7楼 个性首页 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 大地软件
等级:版主 帖子:4386 积分:9920 威望:5 精华:9 注册:2002-9-9 7:55:12
  发帖心情 Post By:2008-5-12 20:23:06

楼主是指用ID生成密钥功能吗?


★大地软件论坛http://jsrccb.k.zhanqunabc.com/★搭建之星QQ群

号:31757462 微信号:wwwddkj

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

由ID怎么生成序列号








签名