package com.kxs.product.biz.config;

import cn.hutool.crypto.symmetric.AES;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 对接老平台的请求加密
 * 对称加密配置类
 *
 * @author Lxq
 * @date 2023-11-03
 */
@Configuration(proxyBeanMethods = false)
@RequiredArgsConstructor
public class AesOldCryptoConfig {


	private final static  String KEY_AND_IV = "*ga34|^7";
	private final static  String ENCODE_MODE = "CBC";
	private final static  String ENCODE_PADDING = "PKCS7Padding";

	/**
	 * <p>
	 * aes加密配置 此处设在配置类可以避免每次请求都去创建加密类，以此节约性能
	 * </p>
	 * @return {@link AES}
	 */
	@Bean("cryptoOldAes")
	public AES cryptoOldAes() {
		return new AES(ENCODE_MODE, ENCODE_PADDING,
				// 密钥，可以自定义
				KEY_AND_IV.getBytes(),
				// iv加盐，按照实际需求添加
				KEY_AND_IV.getBytes());
	}

}
