RSA加密解密
来源:互联网 发布:北京软件开发学校 编辑:程序博客网 时间:2024/06/04 18:33
RSA 是常用的非对称加密算法,
待加密的字节数不能超过密钥的长度值除以 8 再减去 11,而加密后得到密文的字节数,正好是密钥的长度值除以 8。
所以,如果要加密较长的数据,则需要采用分段加解密
//公钥(BASE64编码)private static final String PUBLIC_KEY = "YOUR PUBLICKEY STRING";/** * 公钥解密 * @param encrypt 已加密字符串 */public static String decryptByPublicKey(String encrypt) { try { //获取PublicKey byte[] keyBytes = Base64.decodeBase64(PUBLIC_KEY); X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyBytes); KeyFactory keyFactory = KeyFactory.getInstance("RSA"); PublicKey publicK = keyFactory.generatePublic(x509KeySpec); Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(Cipher.DECRYPT_MODE, publicK); // 注意:当cipher = Cipher.getInstance("RSA")时,此方法在java和android运行结果不同,android返回的byte[]头部会多出许多-1值 // solve:修改成Cipher.getInstance("RSA/ECB/PKCS1Padding") byte[] decryptedData = cipher.doFinal(Base64.decodeBase64(encrypt)); return new String(decryptedData); } catch (Exception e) { e.printStackTrace(); return null; }}
阅读全文
0 0
- RSA加密、解密
- RSA加密解密
- 加密解密---------->RSA算法
- RSA 加密解密总结
- RSA加密解密-实例
- RSA简单加密解密
- RSA加密解密算法
- RSA加密解密算法
- java RSA加密解密
- Java RSA加密解密
- RSA加密解密操作
- RSA加密与解密
- Java RSA加密解密
- RSA加密解密
- java RSA 加密/解密
- RSA加密解密
- RSA加密和解密
- java RSA加密解密
- intellij +maven + jetty实现热部署
- 操作系统字节顺序表示
- 各种设计模式DEMO,完善中...
- ScrollView嵌套ListView
- 计算后缀表达式
- RSA加密解密
- TypeScript 泛型<T>使用整理
- redis集群实战
- Thymeleaf 常用属性
- 【重新入门数位Dp】Hdu 2089 不要62【记忆化搜索写法】数位Dp
- 透传模式(透明传输SeriaNet)详解
- compass安装报错
- Nginx安装及管理
- JVM CPU资源占用过高的问题排查