pki java相关代码参考
keytool -genkey -dname "CN=demo, OU=softDept, O=company,
L=puddong,S=shanghai, C=cn" -alias demo -keyalg RSA -keysize 1024
-keystore demoKeystore -validity 3650 -storepass storePwd -keypass
demoPwd
生成保存公钥和私钥的密钥仓库,保存在demoKeystore文件中。这里storepass 和 keypass
不要有java 正则表达式中的特殊字符,否则程序里要转义麻烦。
keytool -export -alias demo -keystore demoKeystore -rfc -file
demo.cer //从密钥仓库中导出保存公钥的证书
输入keypass 即demoPwd
try{
//
密钥仓库
KeyStore ks = KeyStore.getInstance("JKS");
//读取密钥仓库
FileInputStream
ksfis = new FileInputStream("demoKeystore");
BufferedInputStream
ksbufin = new BufferedInputStream(ksfis);
char[] storePwd =
"storePwd".toCharArray();
ks.load(ksbufin, storePwd);
ksbufin.close();
char[]
keyPwd = "demoPwd".toCharArray();
//从密钥仓库得到私钥
PrivateKey priK =
(PrivateKey) ks.getKey("demo", keyPwd);
//生成cipher
Cipher
cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding",new
org.bouncycastle.jce.provider.BouncyCastleProvider());
//用私钥初始化cipher
cipher.init(Cipher.ENCRYPT_MODE,
priK);
byte[] plain = "This is plain text".getBytes("UTF-8");
//
因为用的1024位rsa算法,一次只能加密1024/8-11字节数据,分开加密
byte[] code = new
byte[(((plain.length-1)/117+1))*128];
int ixplain = 0;
int ixcode = 0;
while((plain.len
相关文档:
package tao.hai.bing;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
public class LoadJar {
public static void main(String[] args)
{
Syst ......
关于Java生成背景透明的png图片
最近用到Java动态生成背景透明的图片功能,从gif和png中选择了png格式,个中缘由就不说了,于是动手到网上搜索有用的代码。现把搜索结果总结如下:
1. 生成png图片
int width = 400;
int height = 300;
// 创建BufferedImage对象
BufferedImage&nb ......
Java
中的常量
常量就是程序里持续不变的值,它是不能改变的数据。
Java
中的常量包含整型常量、浮点数常量、布尔常量等,下面来看一下它们是如何表示的:
整型常量
整型常量可以分为十进制
、十六进制
和八进制
。
十进制
:
0 1 2 3 4 5 6 7 8 9
注意
:以十进制表示时,第一位不能是
0
(数字 ......
一个Java程序员应该掌握的10项技能
一个合格的Java程序员应该学什么、学到什么程度、怎么学?本文总结了十项Java程序员应该具备的基本技能,供您参考。
1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
2、命令:必须熟悉JDK带的一些常用 ......