易截截图软件、单文件、免安装、纯绿色、仅160KB

java加密和数字签名3 公钥加密

最近初步接触了下Java加密和数字签名的相关内容,我学习的过程大概分五步:
1)消息摘要
2)私钥加密
3)公钥加密
4)数字签名
5)数字证书
下面的代码是第三部分:公钥加密
希望能为刚刚接触这个的朋友们省点事
package security;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import javax.crypto.Cipher;
/**
* 此例子是一个公钥加密例子,Cipher类使用KeyPairGenerator(顾名思义:一对钥匙生成器)生成的公钥和私钥
*
* 公钥加密也叫不对称加密,不对称算法使用一对密钥对,一个公钥,一个私钥,使用公钥加密的数据,只有私钥能
* 解开(可用于加密);同时,使用私钥加密的数据,只有公钥能解开(签名)。但是速度很慢(比私钥加密慢100到
* 1000倍),公钥的主要算法有RSA,还包括Blowfish,Diffie-Helman 等
*/
public class PublicKey {
public static void main(String[] args) throws Exception {

String before = "asdf";
byte[] plainText = before.getBytes("UTF8");

//产生一个RSA密钥生成器KeyPairGenerator(顾名思义:一对钥匙生成器)
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
//定义密钥长度1024位
keyGen.initialize(1024);
//通过KeyPairGenerator产生密钥,注意:这里的key是一对钥匙!!
KeyPair key = keyGen.generateKeyPair();
//获得一个RSA的Cipher类,使用公钥加密
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
// System.out.println("\n" + cipher.getProvider().getInfo());
System.out.println("\n用公钥加密...");
//Cipher.ENCRYPT_MODE意思是加密,从一对钥匙中得到公钥 key.getPublic()
cipher.init(Cipher.ENCRYPT_MODE, key.getPublic());
//用公钥进行加密,返回一个字节流
byte[] cipherText = cipher.doFinal(plainText);
//以UTF8格式把字节流转化为String
String after1 = new String(cipherText, "UTF8");
System.out.println("用公钥加密完成:"+after1);

//使用私钥解密
System.out.println("\n用私钥解密...");
//Cipher.DECRYPT_MODE意思是


相关文档:

JAVA如何调用VOS2009接口

我在做VOS2009第3方接口调用,通过这个接口要获取余额显示到web上余额。
我知道java处理HTTP post数据以及webservice相关的数据,可是对于vos这种接口没弄过,不清楚怎么实现,我从网上找了下,看到有个说是通过UDP发送报文实现的,但是不知道如何用java实现,麻烦有知道的赐教下,谢谢!
示例报文结构
OPTIONS sip:80 ......

java 相关的书 Rubicon

《Java how to program》
《Core java 2》
《Thinking in java》
《程序设计实践》
《代码大全》
《设计模式》
《java 网络编程》
serverlet jsp javabean spring habernate mysql等。 ......

java高级多线程编程 关于线程的停止问题(转)

多线程是java的一个优势,java使得程序员可以很方便的进行多线程程序开发。获得更好的性能。
关于多线程的概念以及一般的多线程编程,比如如何以及为何实现runnable接口,为何stop()会被Deprecated掉等等,这个请看matrix之前的多线程编程基础或者sun的java文档。
关于多线程编程,有几点这里要提到的:
1。既然stop( ......

JAVA 彩票程序

import java.io.*;
public class CaiPiao {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String str;
  BufferedReader bufferReader = new BufferedReader(new InputStreamReader(System.in ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号