java的非对称性加密服务技术分析.docVIP

  • 3
  • 0
  • 约5.9千字
  • 约 5页
  • 2017-06-07 发布于北京
  • 举报
  java的非对称性加密服务技术分析   鉴于rsa加密的重要性与拖累源代码的匮乏,经过整顿特此贴出。需要下载bcprov-jdk14-123.jar。   import javax.crypto.Cipher;   import java.security.*;   import java.security.spec.RSAPublicKeySpec;   import java.security.spec.RSAPrivateKeySpec;   import java.security.spec.InvalidKeySpecException;   import erfaces.RSAPrivateKey;   import erfaces.RSAPublicKey;   import java.io.*;   import java.math.BigInteger;   /**   * RSA 东西类。供给加密,解密,天生密钥平匀办法。   * 需要到下载bcprov-jdk14-123.jar。   *   */   public class RSAUtil {   /**   * 天生密钥对   * @return KeyPair   * @throws EncryptException   */   public static KeyPair generateKeyPair() throws EncryptException {   try {   KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(RSA,   new vider.BouncyCastleProvider());   final int KEY_SIZE = 1024;//没什么好说的了,这个值相干到块加密的大小,可以变幻,然而不要太大,不然服从会低   keyPairGen.initialize(KEY_SIZE, new SecureRandom());   KeyPair keyPair = keyPairGen.genKeyPair();   return keyPair;   } catch (Exception e) {   throw new EncryptException(e.getMessage());   }   }   /**   * 天生公钥   * @param modulus   * @param publicExponent   * @return RSAPublicKey   * @throws EncryptException   */   public static RSAPublicKey generateRSAPublicKey(byte[] modulus, byte[] publicExponent) throws EncryptException {   KeyFactory keyFac = null;   try {   keyFac = KeyFactory.getInstance(RSA, new vider.BouncyCastleProvider());   } catch (NoSuchAlgorithmException ex) {   throw new EncryptException(ex.getMessage());   }   RSAPublicKeySpec pubKeySpec = new RSAPublicKeySpec(new BigInteger(modulus), new BigInteger(publicExponent));   try {   return (RSAPublicKey) keyFac.generatePublic(pubKeySpec);   } catch (InvalidKeySpecException ex) {   throw new EncryptException(ex.getMessage());   }   }   /**   * 天生私钥   * @param modulus   * @param privateExponent   * @return RSAPrivateKey   * @throws EncryptException   */   public static RSAPrivateKey generateRSAPrivateKey(byte[] modulus, byte[] privateExponent) throws EncryptException {   KeyFactory keyFac = null;   try {   

文档评论(0)

1亿VIP精品文档

相关文档