AES加密

Posted 学习、实践、总结

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AES加密相关的知识,希望对你有一定的参考价值。

AES加密叫Advanced Encryption Standard,是高级加密标准。

这个标准用来替代原来的DES

优点:

① 抵抗所有已知的攻击。
② 在多个平台上速度快,编码紧凑。
③ 设计简单。
 
Java加密代码如下:

  import javax.crypto.Cipher;
  import javax.crypto.spec.SecretKeySpec;
    private static String encrypt(String inputKey, String inputContent) {
        try {
            SecretKeySpec secretKeySpec = new SecretKeySpec(inputKey.getBytes("UTF-8"), "AES");
            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
            cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec);
            byte[] encodedBytes = cipher.doFinal(inputContent.getBytes("UTF-8"));
            StringBuilder builder = new StringBuilder();
            for (byte b : encodedBytes) {
                String plainText = Integer.toHexString(0xff & b);
                if (plainText.length() < 2)
                    plainText = "0" + plainText;
                builder.append(plainText);
            }
            return builder.toString();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        return "";
    }

 

如上代码的正确性有待商榷。

 

以上是关于AES加密的主要内容,如果未能解决你的问题,请参考以下文章

更新实现代码对称加密与解密剖析:AES,高级加密标准(Advanced Encryption Standard,缩写AES)

JAVA AES加密

Java aes加密C#解密的取巧方法

正确使用AES对称加密

正确使用AES对称加密

使用ffmpeg视频切片并加密