import java.util.UUID;
public class UUIDUtil {
/**
* 1111
*
* all 1 in 16 hexadecimal
*/
private static final long hexMod = 15L;
/**
* All possible chars for representing a number as a hex String
*/
private static final char[] digits = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
public static String toHexString(UUID uuid) {
char[] array = new char[32];
long leastBits = uuid.getLeastSignificantBits();
for (int i = 31; i >= 16; i--) {
array[i] = digits[(int) (leastBits & hexMod)];
leastBits >>>= 4;
}
long mostBits = uuid.getMostSignificantBits();
for (int i = 15; i >= 0; i--) {
array[i] = digits[(int) (mostBits & hexMod)];
mostBits >>>= 4;
}
return new String(array);
}
public static String randomUUID() {
return toHexString(UUID.randomUUID());
}
}
算法背景:
标准UUID的toString返回的字符串带有短横线,
UUID.randomUUID().toString();
引用
8b4e04f3-f68a-48c4-8c18-88c1f84530e5
使用replace方式去除短横线的效率不高。
UUID.randomUUID().toString().replace("-", "");
引用
8b4e04f3f68a48c48c1888c1f84530e5
分享到:
相关推荐
主要介绍了Mysql中存储UUID去除横线的方法,本文给出了3个Mysql函数实现去除去UUID中的横线,需要的朋友可以参考下
短8位uuid 用于兑换码,不重复,,本人用很好用,,分享给大家
fast-uuid:用于快速高效地解析和编写UUID的Java库
uuid64介绍这是一个生成 64 位 UUID 的简单脚本。 UUID 的正常类型(例如 uuid 模块中可用的那些)是 128 位,它提供了更大的能力来避免生成值之间的冲突。 但是,有时使用较小的 UUID 会很方便,例如,如果生成的值...
PB生成UUID
java 生成8位UUID,解决UUID2太长的问题,欢迎下载。后续代码,陆续放出
主要介绍了java获取UUID与UUID的校验,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
手机UUID!
UUID生成工具类
利用UUID生成完全不重复的数字 package com.example.uuid; import java.util.UUID; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View....
Math.uuid.js js 生成 uuid
联想ThinkPad System UUID添加工具,直接支持U盘启动盘制作
UUID 由RFC4122文档定义,里面有实现,不过需要加上SHA1算法,MD5算法才完整。我整理了SHA1 MD5算法,实现了一个可直接使用的UUID的生成算法。
jdk与javauuidgenerator生成uuid
UDID自从被苹果公司禁止开发者使用,UUID便成为替代品,一般使用UUID的时候,当程序被卸载重装之后,UUID一般会被改变,无法保证唯一。但使用我代码里的方法,便可以保证唯一,即使程序被卸载重装之后也仍然是卸载前...
利用雪花算法生成uuid
javascript 随机生成36为的UUID值
为你提供一个可以产生一个不重复的UUID工具
破解软件必备 修改系统的uuid值 记得以管理员身份运行