code: protected String encryptQYMessage(String replyMsg, String timeStamp, String nonce) {
          // 加密
          String encrypt = encryptQY(random16String(), replyMsg);
  
          // 生成安全签名
          if (timeStamp == null || timeStamp.isEmpty()) timeStamp = Long.toString(System.currentTimeMillis());
          String signature = sha1(qytoken, timeStamp, nonce, encrypt);
  
          // System.out.println("发送给平台的签名是: " + signature[1].toString());
          // 生成发送的xml
          return "<xml>\n<Encrypt><![CDATA[" + encrypt + "]]></Encrypt>\n"
              + "<MsgSignature><![CDATA[" + signature + "]]></MsgSignature>\n"
              + "<TimeStamp>" + timeStamp + "</TimeStamp>\n"
              + "<Nonce><![CDATA[" + nonce + "]]></Nonce>\n</xml>";
      }
docs: 将公众平台回复用户的消息加密打包.
  <ol>
  <li>对要发送的消息进行AES-CBC加密</li>
  <li>生成安全签名</li>
  <li>将消息密文和安全签名打包成xml格式</li>
  </ol>
  <p>
  @param replyMsg  公众平台待回复用户的消息，xml格式的字符串
  @param timeStamp 时间戳，可以自己生成，也可以用URL参数的timestamp
  @param nonce     随机串，可以自己生成，也可以用URL参数的nonce
  <p>
  @return 加密后的可以直接回复用户的密文，包括msg_signature, timestamp, nonce, encrypt的xml格式的字符串