问个小问题,大神们指点一下

eacool 2013-06-07 04:48:01
经常看网站时,发现他们的参数是16位的字符串位文章编号的,这个唯一键的怎么做到的。
像这样的:
6e112a12f4ffc683
c4c95ae2e0f34a4a
...全文
156 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
夜色镇歌 2013-06-08
  • 打赏
  • 举报
回复
引用 10 楼 eacool 的回复:
[quote=引用 8 楼 a346729576 的回复:] guid
使用guid,是截取前8个字节吗,这样会产生相同的ID吧。[/quote]可能是数字ID加了密的吧
catchdream 2013-06-08
  • 打赏
  • 举报
回复
引用 12 楼 eacool 的回复:
[quote=引用 7 楼 catchdream 的回复:] 他们用的是其实是 long型数据(64位),转为 byte[8],再用 16进制显示就这样了。你没看到其中英文字母没有 大于 'f' 的
那他们怎么生成数字保证唯一性的,还是说他们使用的是自动编号,服务端接受参数后转为数字去查询。[/quote] 肯定啊,long型主键,自动编号,保证唯一。 你看到的其实就是这个数字的 16进制表示。
mansheng 2013-06-08
  • 打赏
  • 举报
回复
使用这个没错 string xxxx = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16); 不过可能重复 不过也可以使用Datetime.now.ticks.tostring().substring(0,16)再做自己的加密方式,加密方法中有字母和数字混合 这个不会有重复。
eacool 2013-06-07
  • 打赏
  • 举报
回复
引用 7 楼 catchdream 的回复:
他们用的是其实是 long型数据(64位),转为 byte[8],再用 16进制显示就这样了。你没看到其中英文字母没有 大于 'f' 的
那他们怎么生成数字保证唯一性的,还是说他们使用的是自动编号,服务端接受参数后转为数字去查询。
eacool 2013-06-07
  • 打赏
  • 举报
回复
如果项目中使用这样的ID,应该怎么做,GUID位数太长了,有没有好的方法?
eacool 2013-06-07
  • 打赏
  • 举报
回复
引用 8 楼 a346729576 的回复:
guid
使用guid,是截取前8个字节吗,这样会产生相同的ID吧。
coobai 2013-06-07
  • 打赏
  • 举报
回复
应该是加密的ID
夜色镇歌 2013-06-07
  • 打赏
  • 举报
回复
guid
catchdream 2013-06-07
  • 打赏
  • 举报
回复
他们用的是其实是 long型数据(64位),转为 byte[8],再用 16进制显示就这样了。你没看到其中英文字母没有 大于 'f' 的
cjnet 2013-06-07
  • 打赏
  • 举报
回复
应该用这个,这个只产生一个唯一文件名:string tempFile = Path.GetRandomFileName();
cjnet 2013-06-07
  • 打赏
  • 举报
回复
或者string tempFile = Path.GetTempFileName();
cjnet 2013-06-07
  • 打赏
  • 举报
回复
用的Guid
xcliang2004 2013-06-07
  • 打赏
  • 举报
回复
string PaperID = Guid.NewGuid().ToString(); 或者加密
EnForGrass 2013-06-07
  • 打赏
  • 举报
回复
string xxxx = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16); 不过可能重复
清明_ 2013-06-07
  • 打赏
  • 举报
回复
加密了啊

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧