美文网首页
AES加解密方法

AES加解密方法

作者: 沐浴中的眼泪 | 来源:发表于2020-03-29 15:51 被阅读0次

import java.nio.charset.StandardCharsets;

import java.security.SecureRandom;

import javax.crypto.Cipher;

import javax.crypto.KeyGenerator;

import javax.crypto.SecretKey;

import javax.crypto.spec.SecretKeySpec;

public class AESHelper {

    /**

    * AES加密

    *

    * @param value 明文

    * @param key  密钥

    * @return 密文

    */

    public static String encrypt(String value, String key) {

        try {

            KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");

            keyGenerator.init(128, new SecureRandom(key.getBytes()));

            SecretKey secretKey = keyGenerator.generateKey();

            byte[] enCodeFormat = secretKey.getEncoded();

            SecretKeySpec keySpec = new SecretKeySpec(enCodeFormat, "AES");

            Cipher cipher = Cipher.getInstance("AES");

            cipher.init(Cipher.ENCRYPT_MODE, keySpec);

            return new String(cipher.doFinal(value.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8);

        } catch (Exception e) {

            e.printStackTrace();

        }

        return null;

    }

    /**

    * AES解密

    *

    * @param value 密文

    * @param key  密钥

    * @return 明文

    */

    public static String decrypt(String value, String key) {

        try {

            KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");

            keyGenerator.init(128, new SecureRandom(key.getBytes()));

            SecretKey secretKey = keyGenerator.generateKey();

            byte[] enCodeFormat = secretKey.getEncoded();

            SecretKeySpec keySpec = new SecretKeySpec(enCodeFormat, "AES");

            Cipher cipher = Cipher.getInstance("AES");

            cipher.init(Cipher.DECRYPT_MODE, keySpec);

            return new String(cipher.doFinal(value.getBytes(StandardCharsets.UTF_8)), StandardCharsets.UTF_8);

        } catch (Exception e) {

            e.printStackTrace();

        }

        return null;

    }

}

相关文章

网友评论

      本文标题:AES加解密方法

      本文链接:https://www.haomeiwen.com/subject/gikuuhtx.html