• 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

    古人学问无遗力,少壮工夫老始成。 纸上得来终觉浅,绝知此事要躬行。
  • 相关阅读:
    搭建SSM框架 Demo
    Mybatis (ParameterType) 如何传递多个不同类型的参数
    IDEA如何将本地项目上传到码云
    VUE项目
    Oralce(三)特殊符号
    NodeJS and Intellij IDEA
    Handler
    Netty 框架 (一) channelDisconnected、channelClosed两个事件区别
    数据库索引
    Websocket
  • 原文地址:https://www.cnblogs.com/wf-zhang/p/14923261.html
Copyright © 2020-2023  润新知