经常看网站时,发现他们的参数是16位的字符串位文章编号的,这个唯一键的怎么做到的。
像这样的:
6e112a12f4ffc683
c4c95ae2e0f34a4a
唯一键16位主键

解决方案 »

  1.   

    string xxxx = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16);
    不过可能重复
      

  2.   

    string PaperID = Guid.NewGuid().ToString();
    或者加密
      

  3.   

    或者string tempFile = Path.GetTempFileName();
      

  4.   

    应该用这个,这个只产生一个唯一文件名:string tempFile = Path.GetRandomFileName();
      

  5.   

    他们用的是其实是 long型数据(64位),转为 byte[8],再用 16进制显示就这样了。你没看到其中英文字母没有 大于 'f' 的
      

  6.   

    使用guid,是截取前8个字节吗,这样会产生相同的ID吧。
      

  7.   

    如果项目中使用这样的ID,应该怎么做,GUID位数太长了,有没有好的方法?
      

  8.   

    使用guid,是截取前8个字节吗,这样会产生相同的ID吧。可能是数字ID加了密的吧
      

  9.   

    使用这个没错
    string xxxx = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16);
     不过可能重复 不过也可以使用Datetime.now.ticks.tostring().substring(0,16)再做自己的加密方式,加密方法中有字母和数字混合
    这个不会有重复。
      

  10.   

    那他们怎么生成数字保证唯一性的,还是说他们使用的是自动编号,服务端接受参数后转为数字去查询。
    肯定啊,long型主键,自动编号,保证唯一。 你看到的其实就是这个数字的 16进制表示。