public String bytesToHex(byte[] raw)
        {
            int length = raw.length;
            char[] hex = new char[length * 2];
            for(int i = 0; i < length; i++)
            {
                int value = (raw[i] + 256) % 256;
                int highIndex = value >> 4;
                int lowIndex = value & 0x0f;
                hex[i * 2 + 0] = kDigits[highIndex];
                hex[i * 2 + 1] = kDigits[lowIndex];
            }
            return (new String(hex)).toString();
        }