RSA之生成公私鑰的模值

記錄一下:

package com.ceshi.fortest;
import java.security.KeyFactory;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import jieyi.tools.algorithmic.RSAUtil;
public class ForSign {
    public static void main(String[] arg) throws Exception {
        String publickey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoOoEAzLvC+UxhufI3xGUBER6u3odES2lf+bImjcoOJbi1Mx/tyfClL2lvZGgpmfUNjfjZWVyDkAM5l81D9qD7V+FPnTpTuh+7lvmRD+2ZkYqIbNSWhkiFWGdvY3MCSTRknNm5Ss+/+Qv86lOVcxiqOPWTxMsl9kkYUU3jc1AYrBDFXzKNJ+YDSpvHm1ihHv1vvcB3VcFcZZ6JaOqDF2424kVR6eVf2dpRZ6r+kyxvNlkl6izoQPRXRi9dUz9TH6NG8R9f/t4wgJym21LPwYtMmzK7IjBL81BI4tJHf7NJaJKRb6SPaFq3SEGEG2hKD3xQFvMV2ZLqFDkE85mvCGqkwIDAQAB";
        String privatekey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCg6gQDMu8L5TGG58jfEZQERHq7eh0RLaV/5siaNyg4luLUzH+3J8KUvaW9kaCmZ9Q2N+NlZXIOQAzmXzUP2oPtX4U+dOlO6H7uW+ZEP7ZmRiohs1JaGSIVYZ29jcwJJNGSc2blKz7/5C/zqU5VzGKo49ZPEyyX2SRhRTeNzUBisEMVfMo0n5gNKm8ebWKEe/W+9wHdVwVxlnolo6oMXbjbiRVHp5V/Z2lFnqv6TLG82WSXqLOhA9FdGL11TP1Mfo0bxH1/+3jCAnKbbUs/Bi0ybMrsiMEvzUEji0kd/s0lokpFvpI9oWrdIQYQbaEoPfFAW8xXZkuoUOQTzma8IaqTAgMBAAECggEAU9ldeeVClyo44plJHKPmQ0sDwUlieB8XDEzP3zw6ozJMxKJDMsdvJ16jTOLjmZKlDBOXVLDF/BL4JdsapUYyVLDfl6oIIOwZqE8O8CVbAHQzZBgzI2vRTN7u+WU4GtOquOuVhHlCfMkFC6z/esnj5ynB9LaDGCU4Rc9xoVyA3msy6v5EIJ+x5OTV2ibAplBcTcOqohSbK4BU1tcJbNTcYdDNlzM/KDhVFGQaUEWssKSEpb9Hnv5RdWkV+Xhcdgi2qq97QEbvaG2L+qxe0jgk7OrwLdDtj6RyiDxpRNAh25lbULZ/wJSxrw6IZpo7IG6s53TEX3UzLSJZbeiJ0pmR0QKBgQDUeR6sSduVKEqgyPEuuB/mYAIJxq4BKiR6ocHsBD7/W9ACdLfTwXRkmrnsksDmiZz3Oe6A2Ljl+Dy+mkm+h5PR9t4AzLx/kobZFs6dQ2HThPmPJ7632A3l/gnwrJ1EyzAJkrPF/DZw8vZ9/yOrKQobckeDpFy7rFK0gEyfN9aBlQKBgQDB4PNFR/n7J0V3O+sJhqLV+l8KEQ8EfPkQib6v/Ax8AkUzFpPGJ2GzDpYEDZrmL0EBW1vqBVfigV8Q7rm8kd9/CwHCX3sBpWh3ScGGwfkQuu34ZqRR0CdUNvrKNpG2zXnctnJopqzSdLJmNJ82GcGJNNduEw29msTZgFTg2IrBhwKBgQDJoo/bTNQXvv7jiw5nGdEcHWyRvnyPGmE4B54yzuzCBW1nh0CUsng0qSlcOwDZRysw60dN+12s0GFFOMJXD+7WSQLxm1ofbvyNtDkrwTBrPTxgAIXbjivSYb0pK4asLG9QBmqYrvszQT9u3twIqI+w8Eixwx9F8wkhxsfwKVtl6QKBgFR4uEV1SLterut2Vb9+w6/LOGFgcVSZRsMn4Mc4YBAfxRqvOY9aVTz4m/AEJXspF3+J2JAr59CuYUc1XAOG4wOtPgT8KNHcyZk/r2wRU30wlMJnpixnLtuIYNh90hr9h5zceRiTljTT126kesHNkv8+4KX68z+rER1axqB4eGw9AoGAM7NCLYmcRV+y1rbOWYyfTbXI/DItcaykBOBp5d9vZtezseIlrStDXJU2igLbBAmOqGyCQd61VX4th4REsgBhJ81k+9uenTlOZWrA8rgWCSBdJegvesSrgxdV0jPU78iy2JOKBhhXwjAROuMRQBLXYuKtcclB+oGg9op59QwP8bA=";
        byte[] buffer = RSAUtil.decryptBASE64(publickey);
        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        X509EncodedKeySpec keySpec = new X509EncodedKeySpec(buffer);
        RSAPublicKey rsaPublicKey = (RSAPublicKey) keyFactory.generatePublic(keySpec);
        String modules = rsaPublicKey.getModulus().toString(16).toUpperCase();
        System.out.println(modules);
        System.out.println("----------" + RSAUtil.encryptBASE64(rsaPublicKey.getEncoded()));
        byte[] bufferPrivate = RSAUtil.decryptBASE64(privatekey);
        PKCS8EncodedKeySpec keySpecPrivate = new PKCS8EncodedKeySpec(bufferPrivate);
        RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) keyFactory.generatePrivate(keySpecPrivate);
        String privateExponent = rsaPrivateKey.getPrivateExponent().toString(16).toUpperCase();
        System.out.println(privateExponent);
        System.out.println("----------" + RSAUtil.encryptBASE64(rsaPrivateKey.getEncoded()));
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章