建立桌面快捷方式
2009-04-24 18:11
239 查看
package com.test; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.security.Key; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Signature; public class Sign { /** * @param args */ public static void main(String[] args) throws Exception { Sign sign = new Sign(); sign.sign(); sign.verify(); } public void sign() throws Exception{ KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); KeyPair keyPair = kpg.generateKeyPair(); PublicKey publicKey = keyPair.getPublic(); PrivateKey privateKey = keyPair.getPrivate(); Signature sign = Signature.getInstance("SHA1withRSA"); sign.initSign(privateKey); sign.update("测试数据".getBytes()); byte[] data = sign.sign(); saveKey(publicKey, "sign_publicKey"); saveData(data, "sign_data"); } public void verify() throws Exception{ PublicKey publicKey = (PublicKey)readKey("sign_publicKey"); Signature sign = Signature.getInstance("SHA1withRSA"); sign.initVerify(publicKey); sign.update("测试数据".getBytes()); byte[] data = readData("sign_data"); boolean rs = sign.verify(data); System.out.println(rs); } public void saveData(byte[] data, String fileName) throws Exception{ FileOutputStream fos = new FileOutputStream(fileName); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(data); oos.close(); fos.close(); } public void saveKey(Key key, String fileName) throws Exception{ FileOutputStream fos = new FileOutputStream(fileName); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(key); oos.close(); fos.close(); } public Key readKey(String fileName) throws Exception{ FileInputStream fis = new FileInputStream(fileName); ObjectInputStream ois = new ObjectInputStream(fis); Key privateKey = (Key)ois.readObject(); return privateKey; } public byte[] readData(String fileName) throws Exception{ FileInputStream fis = new FileInputStream(fileName); ObjectInputStream ois = new ObjectInputStream(fis); byte[] data = (byte[])ois.readObject(); return data; } }
相关文章推荐
- 在 Mac OS X系统给文件及软件建立桌面快捷方式
- 通过Activity广播建立桌面快捷方式,并监听快捷方式实现。
- C# 创建快捷方式,如建立桌面和程序夹的快捷方式链接,并且上ALL USERS级别
- 映射共享和在桌面建立快捷方式
- linux系统在桌面建立快捷方式
- 把关机、注销、重启建立快捷方式,放置在桌面的地方的方法
- 建立桌面快捷方式的一种方法
- Ubuntu 建立桌面快捷方式
- Ubuntu系统为应用建立桌面快捷方式(以Pycharm为例)
- 用 Win32 API 建立桌面快捷方式的一种方法
- 在桌面建立快捷方式
- ubuntu建立桌面快捷方式
- apk安装不建立桌面快捷方式
- 【安装】Ubuntu安装pycharm并建立桌面快捷方式
- 不能在桌面建立快带连接快捷方式
- Winform 建立桌面快捷方式
- 如何快速建立Win 7桌面一键休眠快捷方式
- 如何建立一个快速显示桌面的快捷方式?
- Ubuntu 下如何建立桌面快捷方式
- linux fedora 19桌面快捷方式建立