java实现的AES秘钥生成算法示例
发布时间 - 2026-01-10 22:19:37 点击率:次本文实例讲述了java实现的AES秘钥生成算法。分享给大家供大家参考,具体如下:
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
public class Test {
public static void main(String[] args) {
getKey();
getKeyByPass();
}
/**
* 随机生成秘钥
*/
public static void getKey() {
try {
KeyGenerator kg = KeyGenerator.getInstance("AES");
kg.init(128);
//要生成多少位,只需要修改这里即可128, 192或256
SecretKey sk = kg.generateKey();
byte[] b = sk.getEncoded();
String s = byteToHexString(b);
System.out.println(s);
System.out.println("十六进制密钥长度为"+s.length());
System.out.println("二进制密钥的长度为"+s.length()*4);
}
catch (NoSuchAlgorithmException e) {
e.printStackTrace();
System.out.println("没有此算法。");
}
}
/**
* 使用指定的字符串生成秘钥
*/
public static void getKeyByPass() {
//生成秘钥
String password="testkey";
try {
KeyGenerator kg = KeyGenerator.getInstance("AES");
// kg.init(128);//要生成多少位,只需要修改这里即可128, 192或256
//SecureRandom是生成安全随机数序列,password.getBytes()是种子,只要种子相同,序列就一样,所以生成的秘钥就一样。
kg.init(128, new SecureRandom(password.getBytes()));
SecretKey sk = kg.generateKey();
byte[] b = sk.getEncoded();
String s = byteToHexString(b);
System.out.println(s);
System.out.println("十六进制密钥长度为"+s.length());
System.out.println("二进制密钥的长度为"+s.length()*4);
}
catch (NoSuchAlgorithmException e) {
e.printStackTrace();
System.out.println("没有此算法。");
}
}
/**
* byte数组转化为16进制字符串
* @param bytes
* @return
*/
public static String byteToHexString(byte[] bytes) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < bytes.length; i++) {
String strHex=Integer.toHexString(bytes[i]);
if(strHex.length() > 3) {
sb.append(strHex.substring(6));
} else {
if(strHex.length() < 2) {
sb.append("0" + strHex);
} else {
sb.append(strHex);
}
}
}
return sb.toString();
}
}
PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:
密码安全性在线检测:
http://tools./password/my_password_safe
高强度密码生成器:
http://tools./password/CreateStrongPassword
迅雷、快车、旋风URL加密/解密工具:
http://tools./password/urlrethunder
在线散列/哈希算法加密工具:
http://tools./password/hash_encrypt
在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools./password/hash_md5_sha
在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools./password/sha_encode
希望本文所述对大家java程序设计有所帮助。
# java
# AES
# 秘钥
# 生成算法
# java实现AES可逆加密算法
# Java原生方法实现 AES 算法示例
# Java实现的对称加密算法AES定义与用法详解
# Java实现AES算法的实例代码
# 长度为
# 加密工具
# 只需要
# 随机数
# 还可以
# 感兴趣
# 给大家
# 转化为
# 所述
# 程序设计
# 高强度
# 加密解密
# 讲述了
# sk
# getKeyByPass
# getKey
# kg
# init
# getInstance
# generateKey
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
如何用搬瓦工VPS快速搭建个人网站?
javascript中对象的定义、使用以及对象和原型链操作小结
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
java获取注册ip实例
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
如何在云服务器上快速搭建个人网站?
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
香港服务器建站指南:免备案优势与SEO优化技巧全解析
晋江文学城电脑版官网 晋江文学城网页版直接进入
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
Laravel如何自定义错误页面(404, 500)?(代码示例)
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
iOS发送验证码倒计时应用
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
焦点电影公司作品,电影焦点结局是什么?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
如何快速选择适合个人网站的云服务器配置?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
网站制作壁纸教程视频,电脑壁纸网站?
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
文字头像制作网站推荐软件,醒图能自动配文字吗?
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
Laravel如何使用查询构建器?(Query Builder高级用法)
JavaScript如何操作视频_媒体API怎么控制播放
如何快速搭建个人网站并优化SEO?
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
Linux后台任务运行方法_nohup与&使用技巧【技巧】
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
如何在服务器上三步完成建站并提升流量?
Laravel如何配置任务调度?(Cron Job示例)
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
如何有效防御Web建站篡改攻击?
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
如何在 React 中条件性地遍历数组并渲染元素
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
如何基于云服务器快速搭建个人网站?
微信h5制作网站有哪些,免费微信H5页面制作工具?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法

