一起来学FIX协议(1)——checksum计算

    /*
     * @headerAndBody 包含消息头+消息体,包含SOH,不包含checksum域
     */
    public static String checkSum(String headerAndBody) {
        byte[] headerAndBodyBytes = headerAndBody.getBytes();
        
        int sum = 0;

        for (byte b : headerAndBodyBytes) {
            sum += b;
        }

        String rt = String.valueOf((sum) % 256);

        /*
         * 在模256之后需要转换成固定长度为3字符串
         */
        if (rt.length() == 1) {
            rt = "00" + rt;
        } else if (rt.length() == 2) {
            rt = "0" + rt;
        } else {
        }

        return rt;
    }

你可能感兴趣的:(Financial,Java)