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或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秘钥相关推荐
- java生成P12秘钥
进入java的bin目录执行 keytool -genkey -alias 别名 -keypass 密码-keyalg RSA -keysize 2048 -validity 365 -keystor ...
- iOS RSA加密 以及生成公钥 秘钥 pem文件
在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...
- 国密:生成SM2秘钥、加解密及加验签
国密改造已经持续了很长时间了,相信很多从事金融科技类的程序猿都遇到过这个需求.这篇文章就为大家带来笔者对于国密改造的一些经验,主要是代码层面,有兴趣的同学可以研究下国密的算法模型! 注:本文所用到的工 ...
- 在windows生成SSH秘钥连接linux远程主机
前言:在windows主机中生成ssh秘钥,然后分别用远程工具与命令行去通过秘钥连接远程服务器:并实现在远程服务器中添加多个不同客户端的秘钥,以此来实现不同客户端都可以使用秘钥连接远程服务器.本次实验 ...
- git生成SSH秘钥(git报错git@github.com: Permission denied (publickey). Could not read from remote repositor)
事情是这样,公司的电脑本来更新代码,拉取代码是没有任何问题的,昨天下班回家后想着把代码拉下来看看,然后在云效上面看到之前生成的秘钥,有好几个之前设置的秘钥,感觉好像没有用手贱给删掉了,早上来公司想着拉 ...
- java项目的秘钥怎么保存_java生成秘钥key,并保存秘钥到文件中
本例子采用的是Java的对称加密其中的一种方式(3DES),其他的加密方式也类似.生成一个key秘钥,发送方使用生成的key秘钥进行加密操作,然后把生成的key秘钥保存到文件中,提供给需要解密的一方使 ...
- 生成SSH秘钥连接github
转自:https://blog.csdn.net/lucky__Yang/article/details/80148420 第一步.首先,检查下自己之前有没有已经生成: 在开始菜单中打开git下的g ...
- python 秘钥_python 生成ssh秘钥对
工作中要用到ssh-keygen生成的公钥和私钥,查了很多网站,大部分人用的是Crypto.PublicKey包中的RSA类来模拟ssh-keygen生成秘钥对.偶然间发现paramiko也有一个可以 ...
- git生成SSH秘钥
一.打开git bash windows下 开始 -- 搜索框输入 git bash 打开git bash窗口: 二.检查ssh key是否存在 git base窗口中输入指令 ls ~/.ssh ...
最新文章
- vue响应式给数组中的对象添加新属性
- HJ12 字符串反转
- vue实例以及生命周期
- 微信小程序把玩(二十一)switch组件
- iOS7(+) 图像资源Images Assets使用
- Leetcode589.N-ary Tree Preorder TraversalN叉树的前序遍历
- 网络时代:我只是一个用户
- 数据结构之栈与递归的应用(八皇后递归解法)
- HTML中使用360浏览器默认用极速模式
- TortoiseSVN文件夹没有绿色对号(√)
- 【3D目标检测】Rethinking Pseudo-LiDAR Representation
- 四大名著红楼梦第一回 甄士隐梦幻识通灵 贾雨村风尘怀闺秀
- 最详细最直观的>>>理解Pandas分组聚合和透视图标
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍
- 使用 Vue-cli 搭建SPA项目
- 导航地图是怎样绘制出来的?
- MATLAB在线工具,画图啥的都不用安装了,超级实用
- Hbase的安装与shell操作介绍
- 网络安全 社会工程学--钓鱼网站的制作和利用(让你了解整个钓鱼网站 背后的秘密.)
- Unity PS4/PS5开发环境搭建
热门文章
- html语言需要dw吗,DW(HTML-基础知识点1)
- 疲劳测试分析软件,直接使用材料疲劳试验数据进行疲劳分析
- 集合转换成数组的两种方法---toArray()和toArray(T[] a)
- SpringBoot项目启动报错:Field userMapper in com.demo.controller.MemberController required a bean of type ‘c
- git的安装与配置教程-超详细版
- CANoe-第3个仿真工程-总线仿真-1概述
- html图片定位坐标原点,利用CSS定位背景图片的常用方法总结
- GaussDB 如何启动和关闭数据库的归档模式
- spo2数据集_氧仪主要测量指标分别为脉率、血氧饱和度、灌注指数(PI)
- 如果配置计算机硬件设备,客户端医保定点计算机设备硬件配置要求