public static boolean check(String timestamp, String nonce, String remoteSignature) throws NoSuchAlgorithmException {
        if (StringUtils.isBlank(timestamp) || StringUtils.isBlank(nonce) || StringUtils.isBlank(remoteSignature))
            return false;

        String[] tempArray = {Constant.WECHAT_TOKEN, timestamp, nonce};
        Arrays.sort(tempArray);
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < tempArray.length; i++) {
            sb.append(tempArray[i]);
        }
        String localSig = Encrypt(sb.toString());
        if (localSig.equals(remoteSignature)) {
            return true;
        }
        return false;
    }