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

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);/* 将加密后的字符串进行编码 */

  

  

转载于:https://www.cnblogs.com/fengchuxiaodai/p/5917307.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值