Java实现的对称加密算法AES定义与用法详解
程序员文章站
2023-11-29 16:19:34
本文实例讲述了java实现的对称加密算法aes定义与用法。分享给大家供大家参考,具体如下:
一 简介
1、aes是目前使用最多的对称加密算法。
2、aes的优势之一是...
本文实例讲述了java实现的对称加密算法aes定义与用法。分享给大家供大家参考,具体如下:
一 简介
1、aes是目前使用最多的对称加密算法。
2、aes的优势之一是至今尚未被破解。
3、aes通常用于移动通信系统加密以及基于ssh协议(ssh client、secruecrt)的软件。
二 特点
1、高级的
2、des替代者
三 aes的参数说明
四 代码实现
package com.imooc.security.aes; import java.security.key; import javax.crypto.cipher; import javax.crypto.keygenerator; import javax.crypto.secretkey; import javax.crypto.spec.secretkeyspec; import org.apache.commons.codec.binary.base64; public class imoocaes { private static string src = "cakin24 security aes"; public static void main(string[] args) { jdkaes(); } public static void jdkaes() { try { //生成key keygenerator keygenerator = keygenerator.getinstance("aes"); keygenerator.init(128); secretkey secretkey = keygenerator.generatekey(); byte[] keybytes = secretkey.getencoded(); //key转换 key key = new secretkeyspec(keybytes, "aes"); //加密 cipher cipher = cipher.getinstance("aes/ecb/pkcs5padding"); cipher.init(cipher.encrypt_mode, key); byte[] result = cipher.dofinal(src.getbytes()); system.out.println("jdk aes encrypt : " + base64.encodebase64string(result)); //解密 cipher.init(cipher.decrypt_mode, key); result = cipher.dofinal(result); system.out.println("jdk aes desrypt : " + new string(result)); } catch (exception e) { e.printstacktrace(); } } }
五 运行效果
jdk aes encrypt : unoek3j7fjhb2cxilzluyyciq2nwayztkfednscjh5g=
jdk aes desrypt : cakin24 security aes
六 应用场景
注:这里引入了org.apache.commons.codec.binary.base64
包,可点击此处本站下载。
ps:关于加密解密感兴趣的朋友还可以参考本站在线工具:
文字在线加密解密工具(包含aes、des、rc4等):
md5在线加密工具:
http://tools.jb51.net/password/createmd5password
在线散列/哈希算法加密工具:
在线md5/hash/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160加密工具:
在线sha1/sha224/sha256/sha384/sha512加密工具:
更多关于java相关内容感兴趣的读者可查看本站专题:《java数学运算技巧总结》、《java数据结构与算法教程》、《java字符与字符串操作技巧总结》、《java操作dom节点技巧总结》和《java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。