import java.net.InetAddress;
import java.security.SecureRandom;
public class SequenceUUID
{
??? public SequenceUUID()
??? {
??? }
??? public String getUUID()
??? {
??????? long l = System.currentTimeMillis();
??????? int i = (int)l & -1;
??????? if(midValue == null)
??????????? try
??????????? {
??????????????? InetAddress inetaddress = InetAddress.getLocalHost();
??????????????? byte abyte0[] = inetaddress.getAddress();
??????????????? String s = hexFormat(getInt(abyte0),
;
??????????????? String s1 = hexFormat(System.identityHashCode(this),
;
??????????????? midValue = s + s1;
??????????? }
??????????? catch(Exception exception)
??????????? {
??????????????? exception.printStackTrace();
??????????? }
??????? SecureRandom securerandom = new SecureRandom();
??????? int j = securerandom.nextInt();
??????? return hexFormat(i,
+ midValue + hexFormat(j,
;
??? }
??? private static int getInt(byte abyte0[])
??? {
??????? int i = 0;
??????? int j = 24;
??????? for(int k = 0; j >= 0; k++)
??????? {
??????????? int l = abyte0[k] & 255;
??????????? i += l << j;
??????????? j -= 8;
??????? }
??????? return i;
??? }
??? private static String hexFormat(int i, int j)
??? {
??????? String s = Integer.toHexString(i);
??????? return padHex(s, j) + s;
??? }
??? private static String padHex(String s, int i)
??? {
??????? StringBuffer stringbuffer = new StringBuffer();
??????? if(s.length() < i)
??????? {
??????????? for(int j = 0; j < i - s.length(); j++)
??????????????? stringbuffer.append('0');
??????? }
??????? return stringbuffer.toString();
??? }
??? protected static String midValue = null;
}
import java.security.SecureRandom;
public class SequenceUUID
{
??? public SequenceUUID()
??? {
??? }
??? public String getUUID()
??? {
??????? long l = System.currentTimeMillis();
??????? int i = (int)l & -1;
??????? if(midValue == null)
??????????? try
??????????? {
??????????????? InetAddress inetaddress = InetAddress.getLocalHost();
??????????????? byte abyte0[] = inetaddress.getAddress();
??????????????? String s = hexFormat(getInt(abyte0),

??????????????? String s1 = hexFormat(System.identityHashCode(this),

??????????????? midValue = s + s1;
??????????? }
??????????? catch(Exception exception)
??????????? {
??????????????? exception.printStackTrace();
??????????? }
??????? SecureRandom securerandom = new SecureRandom();
??????? int j = securerandom.nextInt();
??????? return hexFormat(i,


??? }
??? private static int getInt(byte abyte0[])
??? {
??????? int i = 0;
??????? int j = 24;
??????? for(int k = 0; j >= 0; k++)
??????? {
??????????? int l = abyte0[k] & 255;
??????????? i += l << j;
??????????? j -= 8;
??????? }
??????? return i;
??? }
??? private static String hexFormat(int i, int j)
??? {
??????? String s = Integer.toHexString(i);
??????? return padHex(s, j) + s;
??? }
??? private static String padHex(String s, int i)
??? {
??????? StringBuffer stringbuffer = new StringBuffer();
??????? if(s.length() < i)
??????? {
??????????? for(int j = 0; j < i - s.length(); j++)
??????????????? stringbuffer.append('0');
??????? }
??????? return stringbuffer.toString();
??? }
??? protected static String midValue = null;
}
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
