/* * Copyright 2014 Brian Pellin. * * This file is part of KeePassDroid. * * KeePassDroid is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * KeePassDroid is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. * */ package com.keepassdroid.utils; import java.util.UUID; public class UuidUtil { public static String toHexString(UUID uuid) { if (uuid == null) { return null; } byte[] buf = Types.UUIDtoBytes(uuid); if (buf == null) { return null; } int len = buf.length; if (len == 0) { return ""; } StringBuilder sb = new StringBuilder(); short bt; char high, low; for (int i = 0; i < len; i++) { bt = (short)(buf[i] & 0xFF); high = (char)(bt >>> 4); low = (char)(bt & 0x0F); char h,l; h = byteToChar(high); l = byteToChar(low); sb.append(byteToChar(high)); sb.append(byteToChar(low)); } return sb.toString(); } // Use short to represent unsigned byte private static char byteToChar(char bt) { if (bt >= 10) { return (char)('A' + bt - 10); } else { return (char)('0' + bt); } } }