📄 createkey.java
字号:
package com.crypto.encrypt;
import java.security.SecureRandom;
import javax.crypto.KeyGenerator;
import java.security.NoSuchAlgorithmException;
import javax.crypto.SecretKey;
import java.io.*;
public class CreateKey {
String filename="";
public CreateKey() {
}
/**
* 获得密匙字节内容
* @throws IOException
* @return byte[]
*/
public byte[] getKeyByte() throws IOException {
byte[] bytes=Util.readFile(filename);
return bytes;
}
public void CreateKeyFile(String filename) throws IOException,
NoSuchAlgorithmException {
this.filename=filename;
if(filename==null || filename.equals(""))
{
throw new NullPointerException("无效的文件路径");
}
createKey();
}
/**
* 生成密匙
* @throws NoSuchAlgorithmException
* @throws IOException
*/
private void createKey() throws NoSuchAlgorithmException, IOException {
SecureRandom secureRandom = new SecureRandom();
// 为我们选择的DES算法生成一个KeyGenerator对象
KeyGenerator kg = KeyGenerator.getInstance(Util.getValue("algorithm"));
kg.init(secureRandom);
// 生成密钥
SecretKey key = kg.generateKey();
// 将密钥数据保存为文件供以后使用
Util.writeFile(key.getEncoded(),filename);
}
/**
* 获得密匙文件路径
* @return String
*/
public String getKeyFilePath()
{
return filename;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -