Java安全笔记(二)-创建对称密钥
2017-01-28 23:10
302 查看
对称密钥算法:加密和解密使用相同的密钥。Java中已经提供了常用的加密算法。如下程序将展示JAVA中提供的方法创建对称密钥,并通过对象序列化的方式保存在文件中
创建对称密钥的技术要点如下
1获取密钥生成器
2初始化密钥生成器
3密钥生成
4密钥以序列化的形式保存在key1.dat中
源程序解读
1.Java的KeyGenerator类中提供了创建对称密钥的方法。KeyGenerator类预定义了一个静态方法getInstance(),通过它获得KeyGenerator类型的对象。DES是目前最常用的对称加密算法,但是安全性较差。
2.初始化密钥生成器一般是指定密钥的长度。如果不进行初始化,系统会根据算法自动使用默认额密码长度,应该为64位(实际密钥长度56位,加8位奇偶校验位)
创建对称密钥的技术要点如下
1获取密钥生成器
2初始化密钥生成器
3密钥生成
4密钥以序列化的形式保存在key1.dat中
package ende; //创建对称密钥 import java.io.FileOutputStream; import java.io.ObjectOutputStream; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; public class Symmetric_key { public static void main(String[] args) throws Exception { KeyGenerator kg=KeyGenerator.getInstance("DESede"); //获取密钥生成器 kg.init(168);// 初始化密钥生成器 SecretKey sk=kg.generateKey();//生成密钥 //将密钥保存在key1.dat FileOutputStream fos=new FileOutputStream("C:\\Users\\Administrator\\Desktop\\key1.dat"); ObjectOutputStream b=new ObjectOutputStream(fos); b.writeObject(sk); } }
源程序解读
1.Java的KeyGenerator类中提供了创建对称密钥的方法。KeyGenerator类预定义了一个静态方法getInstance(),通过它获得KeyGenerator类型的对象。DES是目前最常用的对称加密算法,但是安全性较差。
KeyGenerator kg=KeyGenerator.getInstance("DESede"); //获取密钥生成器
2.初始化密钥生成器一般是指定密钥的长度。如果不进行初始化,系统会根据算法自动使用默认额密码长度,应该为64位(实际密钥长度56位,加8位奇偶校验位)
kg.init(168);// 初始化密钥生成器3.通过KeyGenerator类型的对象中generateKey()方法可以获得密钥。其类型为SecretKey类型,可用于以后的加密和解密。
SecretKey sk=kg.generateKey();//生成密钥
相关文章推荐
- Java Security安全系列文档翻译笔记————KeyStore、密钥、证书、命令行实战
- Java笔记3 多线程<1>线程概述、多线程的创建、多线程的安全问题、静态同步函数的锁、死锁
- Java安全学习笔记(二)--创建对称密钥
- java-使用keytool来创建管理密钥及证书等-java学习笔记(3)
- JNI学习笔记(四)JNI中本地语言创建Java对象并且访问具体方法(附例子)
- Java安全之对称加密与非对称加密
- Java学习笔记之语言基础――Java代码安全的概念
- JNI学习笔记4——本地代码创建Java对象(包括javaString)
- java 对称加密——密钥与加密后的数据存盘方式
- VC++网络安全编程范例(5)-创建创建密钥容器和密钥
- Java安全之对称加密与非对称加密
- 笔记2-----创建一个java实例对象的方法
- effective-java学习笔记(2)避免在程序中创建重复的对象
- JNI学习笔记:(1)开篇(2)本地代码访问Java代码 (3)本地方法取得Java属性/调用java方法 (4)本地代码创建Java对象(包括javaString) (5) 本地方法处理java数组
- 创建Java安全框架 避免Java漏洞被利用
- 创建DateUtil工具包 - JAVA课堂笔记整理
- java创建Xml笔记
- Java 技术基础笔记(2)—— 创建第一个Java程序 Hello World
- Java学习笔记:从已有类创建新类。本章小结。
- Java keytool 安全证书学习笔记