问题描述
请教大神,随意输入一个身份证号码,生成一个唯一7位ID,再次输入该身份证号码ID不变。输入另一个身份证号码时,生成一个唯一与它对应的ID?请大神们给代码。。。。
解决方案
解决方案二:
中国有13亿人,生成7位的唯一id,这个不可能啊。肯定有重复的,位数太短了,不够用,其实每个身份证号就是一个唯一的id。不知道楼主的业务是什么样的,具体想做什么?
解决方案三:
引用1楼magi1201的回复:
中国有13亿人,生成7位的唯一id,这个不可能啊。肯定有重复的,位数太短了,不够用,其实每个身份证号就是一个唯一的id。不知道楼主的业务是什么样的,具体想做什么?
前面拼一位的字母,后面用7位数字可否
解决方案四:
引用2楼yanxian007的回复:
Quote: 引用1楼magi1201的回复:
中国有13亿人,生成7位的唯一id,这个不可能啊。肯定有重复的,位数太短了,不够用,其实每个身份证号就是一个唯一的id。不知道楼主的业务是什么样的,具体想做什么?前面拼一位的字母,后面用7位数字可否
26*1000000你觉得能盖住所有人?最起码1个字母加9位数,26*100000000勉勉强强,不知道你要做什么,要是就想要个无意义的随机数随便找个加密算法就搞定了。
解决方案五:
好吧根本无法完成
解决方案六:
七位数不够吧。。。
解决方案七:
MD5加密后再截取吧不过可能会有重复的
解决方案八:
解决方案九:
楼上都是啥想法,又不是公安系统啥的,咋会覆盖全国公民,7位够用了
解决方案十:
分太少了,这个应该是计算机语言+信息理论的考试题7位IDID:考BASE64,可用字符为64个,7位ID的信息量:64^7,等于2^42,约40亿常识:身份证号结构,6位地区编号,8位出生日期,3位地区内编号,1位校验算法:地区编号可以枚举,8位出生日期,可以计算从1900/01/01开始;地区内编号,直接编码;校验位,如果算法可知可以忽略,
解决方案十一:
9楼的方法是可行的最简单就是查表法
解决方案十二:
使用UUID
时间: 2024-10-21 17:03:58