您的位置:首页 > 其它

通过证书拿到公钥,进行加密、解密

2016-09-28 17:32 357 查看
InputStream is = this.getAssets().open(fileName);//证书读取流

CertificateFactory cf = CertificateFactory.getInstance("X.509");//获取X.509的证书工厂

X509Certificate certificate = (X509Certificate) cf.generateCertificate(is);//获取证书实例

PublicKey publicKey = certificate.getPublicKey();//获取证书公钥

Cipher tcsCipher = Cipher.getInstance(publicKey.getAlgorithm());//通过公钥的加密算法获取加解密实例

    tcsCipher.init(Cipher.ENCRYPT_MODE, publicKey);//通过公钥初始化实例

byte[] encode = Base64.encode("123".getBytes(),Base64.DEFAULT);/* 要加密的字符串进行编码 */

byte[] doFinal = tcsCipher.doFinal(encode);/*加密*/

String tcsEncryptPassword = Base64.encodeToString(doFinal, Base64.DEFAULT);/* 将加密后的字符串进行编码 */


  

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: