code: private String encodeBytes(byte[] cipherText) {
          StringBuffer cipherStringBuffer = new StringBuffer();
          for (int i = 0; i < cipherText.length; i++) {
              byte b = cipherText[i];
              cipherStringBuffer.append(Byte.toString(b) + ":");
          }
          return cipherStringBuffer.toString();
      }
docs: Encodes a byte array as a String without using a charset
  to ensure that the exact bytes can be retrieved on decode.