BASE64Decoder新旧API 切换:BASE64Decoder is internal proprietary API and may be removed in a future rel

package com.util;

import org.apache.commons.codec.binary.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;

/**
 * 字符串加密
 * @author Tseng
 * @date 2023/3/28 0028 16:02:49
 */
public class QEncodeUtil {
    private static final Logger LOGGER = LoggerFactory.getLogger(QEncodeUtil.class);

    /**
     * 加密
     * @author Tseng
     * @date 2023/3/27 0027 17:43:25
     * @param sSrc
     * @param sKey
     * @param datasecretiv
     * @return java.lang.String
     */
    public static String encrypt(String sSrc, String sKey, String datasecretiv) {
        try {
            ……
            // String str = new BASE64Encoder().encode(encrypted);
            String str = encode(encrypted);
            ……
        } catch (Exception ex) {
            return null;
        }
    }

    /**
     * 解密
     * @author Tseng
     * @date 2023/3/28 0028 16:07:06
     * @param sSrc
     * @param sKey
     * @param datasecretiv
     * @return java.lang.String
     */
    public static String decrypt(String sSrc, String sKey, String  datasecretiv) {
        try {
            ……
            // byte[] encrypted1 = new BASE64Decoder().decodeBuffer(sSrc);//先用 base64 解密
            byte[] encrypted1 = decode(sSrc.getBytes());
            ……
        } catch (Exception ex) {
            return null;
        }
    }

    /**
     *
     * @param bytes
     * @return byte[]
     */
    public static byte[] decode(final byte[] bytes) {
        return Base64.decodeBase64(bytes);
    }

    /**
     * 二进制数据编码为BASE64字符串
     *
     * @param bytes
     * @return
     * @throws Exception
     */
    public static String encode(final byte[] bytes) {
        return new String(Base64.encodeBase64(bytes));
    }

}

猜你喜欢

转载自blog.csdn.net/piaomiao_/article/details/129982319