package com.sunyard.chsm.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author liulu
 * @since 2024/10/16
 */
@Getter
@AllArgsConstructor
public enum ApiFunEnum {

    sym_enc(ApiGroupEnum.SYM_API,"sym_enc", "对称加密"),
    sym_dec(ApiGroupEnum.ASYM_API,"sym_dec", "对称解密"),
    cal_hmac(ApiGroupEnum.SYM_API,"cal_hmac", "计算Hmac"),
    check_hmac(ApiGroupEnum.ASYM_API,"check_hmac", "验证Hmac"),
    cal_mac(ApiGroupEnum.SYM_API,"cal_mac", "计算mac"),
    check_mac(ApiGroupEnum.ASYM_API,"check_mac", "验证mac"),
    gen_random(ApiGroupEnum.SYM_API,"gen_random", "生成随机数"),

    asym_enc(ApiGroupEnum.ASYM_API,"asym_enc", "非对称加密"),
    asym_dec(ApiGroupEnum.ASYM_API,"asym_dec", "非对称解密"),
    sign_raw(ApiGroupEnum.ASYM_API,"sign_raw", "RAW签名"),
    verify_raw(ApiGroupEnum.ASYM_API,"verify_raw", "RAW验签"),
    sign_p1(ApiGroupEnum.ASYM_API,"sign_p1", "P1签名"),
    verify_p1(ApiGroupEnum.ASYM_API,"verify_p1", "P1验签"),
    sign_P7Attach(ApiGroupEnum.ASYM_API,"sign_P7Attach", "P7 Attach签名"),
    verify_P7Attach(ApiGroupEnum.ASYM_API,"verify_P7Attach", "P7 Attach验签"),
    sign_P7Detach(ApiGroupEnum.ASYM_API,"sign_P7Detach", "P7 Detach签名"),
    verify_P7Detach(ApiGroupEnum.ASYM_API,"verify_P7Detach", "P7 Detach验签"),
    ;

    private final ApiGroupEnum group;
    private final String code;
    private final String name;

}
