再问:jsp应用环境中的GUID/UUID 的 java 实现算法。

lly9900 2002-02-05 04:41:32
使用UNIX主机上Ethernet网卡的序列号加上当前的日期、时间生成一个保证唯一的128位字符串,再用MD5算法转换为32位唯一字符串,用于table的primary key。
请各位大侠提供java的实现代码,高分相谢!!!!

另,多谢各位的帮助,随后一定送分!!
...全文
107 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lly9900 2002-02-06
多谢各位!!
MD5算法可以把一字符串(不定长)不可逆转换为唯一16字节(16进制32位)字符串,关键是源字符串要获得.
java里可以获取host IP address + system time + random,但这个也不完全作到GUID吧。

java里可以获取硬盘序列号、cpu序列号、网卡mac等硬件ID吗?


回复
hyhong_h 2002-02-06
取网卡的序列号难了点,MD5吗,很简单,只是它的结果是16字节的。

要import java.security.*;

MessageDigest md;
String keyStr = "abcd";
try {
md = MessageDigest.getInstance("MD5");
}catch(NoSuchAlgorithmException nsae) {
//...
}
md.update(keyStr.getBytes());
byte[] cipher = md.digest();
回复
tmpfree 2002-02-05
生成GUID的算法应该不存在问题,
关键是Java好象没有什么方法得到硬件的MAC地址吧

如果只想得到一个不重复的字符,就取当前时间 + rand() 都可以
回复
bbc218888 2002-02-05
puupupupupupupupupupupup
回复
lly9900 2002-02-05
其实就是要生成一个类似ms的guid的永不重复的字符串,只是要java实现。
回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2002-02-05 04:41
社区公告
暂无公告