本帖最后由 bulls5988 于 2013-01-24 10:10:46 编辑

解决方案 »

  1.   

    卡号是我提供 中间日期是取 SQL2005的时间 后七位是随机
      

  2.   

    挂一个数据库,后6位用随机函数生成,然后把你的前10位、中间8位和后6位融合在一起,算出最后的第7位。
    大概是下面这个图示的意思:
    AAAAAAAAAA(前10位) + AAAAAAAA(8位日期) + AAAAAA(6位随机数) + A(1位校验位)随机数的生成随便找个函数就可以了。
    校验位的生成就看你的需求了,如果没有特殊的要求,把前24位一起做与操作,取末尾的值做校验位就行,这样速度比较快。如果要求唯一性,就把生成的卡号存数据库里,每次生成新卡号后比对一下。