import java.net.InetAddress;
import java.net.UnknownHostException;
public class GUID {
private static String hostAddr = "" + (int)Math.random() * 90000;
/**
* 随机UUID,Type 4
* @return String
*/
public static String getNewGUID(){
return java.util.UUID.randomUUID().toString();
}
/**
* 截取随机UUID, 截成20位
*/
public static String getNewId(){
return java.util.UUID.randomUUID().toString().substring(20);
}
/**
* 命名UUID,Type 3<br>
* 命名参数:服务器IP + 服务器名 + 随机UUID + 随机数<br>
* <br>
* 出错返回的是用参数:随机数 + 随机UUID 返回的命名UUID
* @return String
*/
public static String getNameGUID() {
try {
if (hostAddr.length()<8){
hostAddr += InetAddress.getLocalHost().getHostAddress() + InetAddress.getLocalHost().getCanonicalHostName();
}
String factor = hostAddr + getNewGUID() + Math.random();
return java.util.UUID.nameUUIDFromBytes(factor.getBytes()).toString();
} catch (UnknownHostException e) {
e.printStackTrace();
}
return java.util.UUID.nameUUIDFromBytes((Math.random() + getNewGUID()).getBytes()).toString();
}
/**
* 命名UUID,Type 3<br>
* 不同的参数返回不同的UUID,否则一样<br>
* 其实就是用MD5编码后的字符串。
* @param nameString
* @return
*/
public static String getNameGUID(String nameString){
return java.util.UUID.nameUUIDFromBytes(nameString.getBytes()).toString();
}
}
分享到:
相关推荐
UUID生成工具类
获取手机UUID,可以获得唯一字符串,用于表示一个独立设备
有序UUID生成器 借鉴hibernate的UUID生成器 CustomVersionOneStrategy。
uuid生成,可生成16个字符的唯一码。使用方法,见main函数
UUID生成工具,只能输入32个数字。能生成TXT文档。
利用雪花算法生成uuid
采用纯C的方式生成全球唯一ID,guid,采用linux下的代码移植过来的,软件采用vc6编译
uuid 生成器 UUID_GEN.exe java 写的UUID的生成器,为了上传方便,所以我没有上传jer,下载者需要将jer和该exe文件放入到同一个文件夹下方可运行!
通过hibernate的组件生成uuid的代码
java 生成8位UUID,解决UUID2太长的问题,欢迎下载。后续代码,陆续放出
uuid 生成不重复ID3万个 检测到重复就重试生成,把生成的id好,写入txt文档中
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复
JAVA UUID 生成.txt
用Java写的UUID生成器,点击按钮即可生成
PB生成UUID
uuid 生成器
公司实际项目中采用UUID算法生成主键的工具类,有需要的朋友们可以拿去
GUID-UUID生成器源码(C#) 有不足之处,敬请指教。
用hibernate形式的uuid的生成类
一个使用C ++ 11的简单UUID生成器。 该程序是使用C ++ 11的简单128位UUID生成器。 请注意,这不是符合RFC4122的UUID。 有关符合RFC4122的UUID的更多信息,请参考 。 如果您正在寻找兼容RFC4122的UUID,请尝试或从...