我想算出一个全球唯一的ID号,请问该怎么实现(100分)

  • 主题发起人 主题发起人 xiaoche
  • 开始时间 开始时间
X

xiaoche

Unregistered / Unconfirmed
GUEST, unregistred user!
应该有现成的算法,请大家指点!
 
ctrl+shift+G
 
在java中,通过一个算法,生成一个全球唯一的ID号码,用来做查重复的标识。请问什么地方可以找到这个算法的源码
 
实在着急要,我对java又不是很精通,请大家帮忙啊
 
uses
comobj,activex;
function getguid:string;
var
id:tguid;
begin
if cocreateguid(id)=s_ok then
result:=guidtostr(id)
else
result:='error';
end;
 
YES
ctrl+shift+G
 
单单是你的软件使用的话,就可以用时间(System.currentTimeMillis)加 Local IP 和 Hostname 做MD5
(或者SHA,DES 都可以 @see java.security.MessageDigest)码即可,
这里假定同一时间只有同一个IP&Hostname存在(在局域网环境可能存在缺陷,但是概率不大)
最保险的方法是启动一个简单的Servlet在公网上面,用户Query一次返回一个唯一的ID
 
像XP不就是算出一个唯一的号码吗?它是怎么实现的?
 
GUID 也是通过网卡ID和时间等信息综合计算出来的(据说还有CPU信息)
Java 里面无法获得Network Card ID(ipconfig /all),这需要 SNMP 类库的支持
 
多人接受答案了。
 
后退
顶部