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;
}
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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