求教java实现38位唯一字符串ID的算法和程序!!!

lly9900 2002-01-31 02:54:23
现在有一table的primary key是类似如下的38位字符串:
{D39AC921-EB08-11d5-9C47-5254AB265926}
{7EBCCB40-EB0A-11d5-9C47-5254AB265926}
......................................
请问,在java中怎样生成这样的唯一字符串??
求教算法和实现方法!!
...全文
242 点赞 收藏 18
写回复
18 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
skyyoung 2002-02-01
import java.security.*;
import java.security.spec.*;
import java.security.interfaces.*;
回复
lly9900 2002-02-01
关注
回复
lly9900 2002-02-01
人气好旺啊,昨天下午的帖,今早就被淹没了。
不过,还是要等待这个问题啊。
回复
nielinjie 2002-02-01
cpu号加上time不就可以了吗。microsoft就是这样的
回复
skyyoung 2002-02-01
http://www.excelsior-usa.com/xfunctionlatest.html
回复
lly9900 2002-02-01
多谢各位出手相助, 我手里有个dll,可以在vb中调用生成唯一字符串,可惜没原码。我这个是jsp环境,要实现这样的功能,哎 .........
各位如果有实现方法,定当高分相送........
回复
xuxb488 2002-02-01
过来学习
回复
lly9900 2002-02-01
skyyoung(路人甲): 你写的那快也只有 rStr 参数,没有coding变量啊。是不是另外要定义一个变量?是关于编码方式的吗?
回复
skyyoung 2002-02-01
Oh, coding是我的类,那数值应该是MessageDigest.getInstance("MD5");
回复
gzgangster 2002-02-01
听起来似乎挺复杂,要不这样,给我5000分,我帮你写!呵!^_^
回复
gzgangster 2002-02-01
自己写个HASH算法,对指定字符串求取38位的HASH CODE.
但此HASH CODE是数值,如果一定要有其它字符的话,不妨做个对应表.
比如这样,a~z A~Z 0~9,一共有62个字符,那么可以自定义个62进制的规则.
回复
skyyoung 2002-02-01
GetID.java第10行第53列的变量coding没有找到,即是你没有定义coding这个变量。
回复
lly9900 2002-02-01
实在不好意思在问了,不过还有个问题:
"GetID.java": Error #: 300 : variable coding not found in class pack_bean.GetID at line 10, column 53
回复
lly9900 2002-01-31
skyyoung(路人甲): 请问 MessageDigest 需要import 哪些class呢? 我在写java bean时出错。

package pack_bean;

public class GetID {
public static String GetMD5(String rStr ) {
try {
MessageDigest md5 = MessageDigest.getInstance(coding.MD5);
md5.update(rStr.getBytes());

String temp = new String(md5.digest());
return temp;
}
catch ( Exception e ) {
return "0";
}
}
}

"GetID.java": Error #: 300 : class MessageDigest not found in class pack_bean.GetID at line 6, column 7
回复
skyyoung 2002-01-31
消息摘要,加密常用的方法,把一段字符串通过MD5后生成唯一的字符串以表示原文的唯一性。
回复
lly9900 2002-01-31
等待
回复
lly9900 2002-01-31
多谢skyyoung(路人甲),我的程序一部分是b/s的,一部分是c/s的,以前的38位ID是c/s版调用dll生成的,所以b/s版也要遵守这个规则。所以要请教各位啦。另外,MD5是什么概念,我真的不太明白,现在是没办法,能解释一下吗? 
回复
skyyoung 2002-01-31
这个不知道,但java可以生成MD5,也是唯一。
public static byte[] MD5(String rStr)
{
try
{
MessageDigest md5 = MessageDigest.getInstance(Coding.MD5);
md5.update(rStr.getBytes());
return md5.digest();
}catch(Exception e)
{
return new byte[0];
}
}
回复
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

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