日期:2014-05-17  浏览次数:20976 次

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

------解决方案--------------------
加密了啊 
------解决方案--------------------
string xxxx = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16);
不过可能重复
------解决方案--------------------
或者string tempFile = Path.GetTempFileName();
------解决方案--------------------
应该用这个,这个只产生一个唯一文件名:string tempFile = Path.GetRandomFileName();
------解决方案--------------------
他们用的是其实是 long型数据(64位),转为 byte[8],再用 16进制显示就这样了。你没看到其中英文字母没有 大于 'f' 的
------解决方案--------------------
guid
------解决方案--------------------
应该是加密的ID
------解决方案--------------------
引用:
Quote: 引用:

guid

使用guid,是截取前8个字节吗,这样会产生相同的ID吧。
可能是数字ID加了密的吧
------解决方案--------------------
使用这个没错
string xxxx = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16);
 不过可能重复 

不过也可以使用Datetime.now.ticks.tostring().substring(0,16)再做自己的加密方式,加密方法中有字母和数字混合
这个不会有重复。