Base64(AES128(字段,秘钥))对称加密

 

代码实现如下:

public class SecurityAESUtils {

    private static String AES_KEY = "123456789qazwsx#";
    private static String AES_MODE = "AES/ECB/PKCS5Padding";

    private Key key;

    private static SecurityAESUtils securityAESUtils;
    public static SecurityAESUtils getInstance() {
        if(securityAESUtils == null) {
            securityAESUtils = new SecurityAESUtils();
        }
        return securityAESUtils;
    }

    public static byte[] encryptECB(String data, String AES_KEY) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
        Cipher cipher = Cipher.getInstance(AES_MODE);
        cipher.init(Cipher.ENCRYPT_MODE,new SecretKeySpec(AES_KEY.getBytes(),"AES"));
        byte[] result = cipher.doFinal(data.getBytes());
        return result;
    }

    public static byte[] decryptEBC(byte[] data,String AES_KEY) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
        Cipher cipher = null;
        cipher = Cipher.getInstance(AES_MODE);
        cipher.init(Cipher.DECRYPT_MODE,new SecretKeySpec(AES_KEY.getBytes(), "AES"));
        byte[] result = cipher.doFinal(data);
        return result;
    }

    public static void main(String[] args) throws NoSuchPaddingException, IllegalBlockSizeException, NoSuchAlgorithmException, BadPaddingException, InvalidKeyException {
        String data = "367601198908244058";
        byte[] ciphertext = encryptECB(data,AES_KEY);
        String encodeString = Base64.getEncoder().encodeToString(ciphertext);
        System.out.println("ECB 模式加密结果(Base64):" + encodeString);

        //解密
        byte[] decodeByte = Base64.getDecoder().decode(encodeString);
        String decodeString = new String(SecurityAESUtils.decryptEBC(decodeByte,AES_KEY));
        System.out.printf("ECB 模式解密结果(Base64):"+decodeString);
    }

}

 

参考: http://www.viiis.cn/news/show_117504.html

posted @ 2022-09-30 13:37  思凡念真  阅读(251)  评论(0编辑  收藏  举报