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或256SecretKey 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();}
}

java生成AES秘钥相关推荐

  1. java生成P12秘钥

    进入java的bin目录执行 keytool -genkey -alias 别名 -keypass 密码-keyalg RSA -keysize 2048 -validity 365 -keystor ...

  2. iOS RSA加密 以及生成公钥 秘钥 pem文件

    在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...

  3. 国密:生成SM2秘钥、加解密及加验签

    国密改造已经持续了很长时间了,相信很多从事金融科技类的程序猿都遇到过这个需求.这篇文章就为大家带来笔者对于国密改造的一些经验,主要是代码层面,有兴趣的同学可以研究下国密的算法模型! 注:本文所用到的工 ...

  4. 在windows生成SSH秘钥连接linux远程主机

    前言:在windows主机中生成ssh秘钥,然后分别用远程工具与命令行去通过秘钥连接远程服务器:并实现在远程服务器中添加多个不同客户端的秘钥,以此来实现不同客户端都可以使用秘钥连接远程服务器.本次实验 ...

  5. git生成SSH秘钥(git报错git@github.com: Permission denied (publickey). Could not read from remote repositor)

    事情是这样,公司的电脑本来更新代码,拉取代码是没有任何问题的,昨天下班回家后想着把代码拉下来看看,然后在云效上面看到之前生成的秘钥,有好几个之前设置的秘钥,感觉好像没有用手贱给删掉了,早上来公司想着拉 ...

  6. java项目的秘钥怎么保存_java生成秘钥key,并保存秘钥到文件中

    本例子采用的是Java的对称加密其中的一种方式(3DES),其他的加密方式也类似.生成一个key秘钥,发送方使用生成的key秘钥进行加密操作,然后把生成的key秘钥保存到文件中,提供给需要解密的一方使 ...

  7. 生成SSH秘钥连接github

    转自:https://blog.csdn.net/lucky__Yang/article/details/80148420 第一步.首先,检查下自己之前有没有已经生成:  在开始菜单中打开git下的g ...

  8. python 秘钥_python 生成ssh秘钥对

    工作中要用到ssh-keygen生成的公钥和私钥,查了很多网站,大部分人用的是Crypto.PublicKey包中的RSA类来模拟ssh-keygen生成秘钥对.偶然间发现paramiko也有一个可以 ...

  9. git生成SSH秘钥

    一.打开git bash windows下 开始 -- 搜索框输入 ​git bash 打开git bash窗口: 二.检查ssh key是否存在 git base窗口中输入指令 ls ~/.ssh ...

最新文章

  1. vue响应式给数组中的对象添加新属性
  2. HJ12 字符串反转
  3. vue实例以及生命周期
  4. 微信小程序把玩(二十一)switch组件
  5. iOS7(+) 图像资源Images Assets使用
  6. Leetcode589.N-ary Tree Preorder TraversalN叉树的前序遍历
  7. 网络时代:我只是一个用户
  8. 数据结构之栈与递归的应用(八皇后递归解法)
  9. HTML中使用360浏览器默认用极速模式
  10. TortoiseSVN文件夹没有绿色对号(√)
  11. 【3D目标检测】Rethinking Pseudo-LiDAR Representation
  12. 四大名著红楼梦第一回 甄士隐梦幻识通灵 贾雨村风尘怀闺秀
  13. 最详细最直观的>>>理解Pandas分组聚合和透视图标
  14. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍
  15. 使用 Vue-cli 搭建SPA项目
  16. 导航地图是怎样绘制出来的?
  17. MATLAB在线工具,画图啥的都不用安装了,超级实用
  18. Hbase的安装与shell操作介绍
  19. 网络安全 社会工程学--钓鱼网站的制作和利用(让你了解整个钓鱼网站 背后的秘密.)
  20. Unity PS4/PS5开发环境搭建

热门文章

  1. html语言需要dw吗,DW(HTML-基础知识点1)
  2. 疲劳测试分析软件,直接使用材料疲劳试验数据进行疲劳分析
  3. 集合转换成数组的两种方法---toArray()和toArray(T[] a)
  4. SpringBoot项目启动报错:Field userMapper in com.demo.controller.MemberController required a bean of type ‘c
  5. git的安装与配置教程-超详细版
  6. CANoe-第3个仿真工程-总线仿真-1概述
  7. html图片定位坐标原点,利用CSS定位背景图片的常用方法总结
  8. GaussDB 如何启动和关闭数据库的归档模式
  9. spo2数据集_氧仪主要测量指标分别为脉率、血氧饱和度、灌注指数(PI)
  10. 如果配置计算机硬件设备,客户端医保定点计算机设备硬件配置要求