docs: public String signAndEncrypt(byte[] data) throws NoSuchAlgorithmException, NoSuchProviderException,
              NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException,
              SignatureException, InvalidAlgorithmParameterException, InvalidCipherTextException, IOException {
          String dataBase64 = Base64.toBase64String(data);
          String signBase64 = signDataWithBase64(data);
          JSONObject json = new JSONObject();
          json.put("data", dataBase64);
          json.put("signature", signBase64);
          String dataStr = json.toString();
          String cipher = encryptWithBase64(dataStr.getBytes());
          return cipher;
      }