zoukankan      html  css  js  c++  java
  • java随机生成RSA密钥对

    public static Map<Integer, String> genKeyPair() throws NoSuchAlgorithmException {
    
            //保存用户级别公钥和私钥对
            Map<Integer, String> keyMap = new HashMap<Integer, String>();
            // KeyPairGenerator类用于生成公钥和私钥对,基于RSA算法生成对象
            KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
            // 初始化密钥对生成器,密钥大小为96-1024位
            keyPairGen.initialize(1024,new SecureRandom());
            // 生成一个密钥对,保存在keyPair中
            KeyPair keyPair = keyPairGen.generateKeyPair();
            // 得到私钥
            RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
            // 得到公钥
            RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
            // 得到公钥字符串
            String publicKeyString = new String(Base64.encodeBase64(publicKey.getEncoded()));
            // 得到私钥字符串
            String privateKeyString = new String(Base64.encodeBase64((privateKey.getEncoded())));
    
            // 将公钥和私钥保存到Map 0表示公钥 1表示私钥
            keyMap.put(0, publicKeyString);
            keyMap.put(1, privateKeyString);
    
            return keyMap;
        }

     

    RSA私钥签名和公钥验签JAVA实现

    https://www.jianshu.com/p/c3cd1919fcd0

    https://my.oschina.net/u/4332949/blog/3449841

    https://www.cnblogs.com/zhilu-doc/p/7074245.html

    古人学问无遗力,少壮工夫老始成。 纸上得来终觉浅,绝知此事要躬行。
  • 相关阅读:
    Kaggle案例分析1--Bestbuy
    [翻译]用神经网络做回归(Using Neural Networks With Regression)
    【MySql】delete用法
    【MySql】like用法
    【MySql】Order By 排序
    【MySql】Group By数据分组
    【shell】一篇文章学懂Shell脚本
    【MySql】删除操作
    python 面向对象编程(高级篇)
    python 面向对象编程(初级篇)
  • 原文地址:https://www.cnblogs.com/wf-zhang/p/14923261.html
Copyright © 2011-2022 走看看