code: public byte[] build(BuilderMode builderMode) {
          try {
              final Mac digest = Mac.getInstance(Validator.notNull(algorithm, "algorithm not null"));
              SecretKeySpec secretKey = new SecretKeySpec(apiSecret, algorithm);
              digest.init(secretKey);
              switch (builderMode) {
              case FULL:
                  updateFullBuildDigest(digest);
                  break;
              case ONLY_HEADER:
                  updateOnlyHeaderBuildDigest(digest);
                  break;
              default:
                  System.err.println(String.format("不支持的参数类型: {}", builderMode));
                  return null;
              }
              final byte[] signatureBytes = digest.doFinal();
              digest.reset();
              return signatureBytes;
          } catch (Throwable e) {
              System.err.println(e.getMessage());
              return null;
          }
      }
docs: 完成HMAC认证消息的构建,并获得签名摘要值.
  
  @param builderMode
  构建模式的枚举
  @return HMAC原始签名摘要值的内存数据字节.若构建失败，则返回<code>null</code>
  @author zhd
  @since 1.0.0