代码生成公钥私钥
来源:互联网 发布:手机图文制作软件 编辑:程序博客网 时间:2024/06/06 13:20
import java.security.Key;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.util.HashMap;
import java.util.Map;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
@SuppressWarnings("unused")
public class Keys {
public static final String KEY_ALGORITHM = "RSA";
public static final String SIGNATURE_ALGORITHM = "MD5withRSA";
private static final String PUBLIC_KEY = "RSAPublicKey";
private static final String PRIVATE_KEY = "RSAPrivateKey";
public static void main(String[] args) {
Map<String, Object> keyMap;
try {
keyMap = initKey();
String publicKey = getPublicKey(keyMap);
System.out.println("===========================publicKey=========================");
System.out.println(publicKey);
System.out.println("==============================================================");
String privateKey = getPrivateKey(keyMap);
System.out.println("===========================privateKey==========================");
System.out.println(privateKey);
System.out.println("================================================================");
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getPublicKey(Map<String, Object> keyMap)throws Exception {
Key key = (Key) keyMap.get(PUBLIC_KEY);
byte[] publicKey = key.getEncoded();
return encryptBASE64(key.getEncoded());
}
public static String getPrivateKey(Map<String, Object> keyMap)
throws Exception {
Key key = (Key) keyMap.get(PRIVATE_KEY);
byte[] privateKey = key.getEncoded();
return encryptBASE64(key.getEncoded());
}
public static byte[] decryptBASE64(String key) throws Exception {
return (new BASE64Decoder()).decodeBuffer(key);
}
public static String encryptBASE64(byte[] key) throws Exception {
return (new BASE64Encoder()).encodeBuffer(key);
}
public static Map<String, Object> initKey() throws Exception {
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM);
keyPairGen.initialize(1024);
KeyPair keyPair = keyPairGen.generateKeyPair();
RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
Map<String, Object> keyMap = new HashMap<String, Object>(2);
keyMap.put(PUBLIC_KEY, publicKey);
keyMap.put(PRIVATE_KEY, privateKey);
return keyMap;
}
}
阅读全文
2 0
- 代码生成公钥私钥
- 生成代码
- 代码生成-php代码生成-专注代码生成30年.
- 代码生成: 利用SQL生成SQL代码
- 生成GUID的代码
- 动态生成JAVA代码
- UUID生成代码
- 代码生成工具下载
- 生成图片代码
- 生成HTML页面代码
- 浅淡代码生成
- 生成SHTML代码
- java生成缩略图代码
- 代码生成的未来
- 代码自动生成.
- vc 代码文档生成
- 生成QQ菜单代码
- 关于代码生成工具
- textarea自适应高度
- 也许,这样理解HTTPS更容易
- 使用JDBC进行批处理(转)
- 关于浏览器出现滚动条和消失页面不跳动
- Session与Cookie
- 代码生成公钥私钥
- NOIP2014 解方程
- 有向图的强连通分量
- Spring事务 之 事务自动提交
- java中Map,List与Set的区别
- Servlet获取下载链接为空的问题
- MP4V2--如何使用 MP4SetTrackESConfiguration
- 微信小程序实践 第一个项目
- AngularJS之定时器(timeout)