Android和Java中RSA标准不一致解决方法
来源:互联网 发布:电脑挂机赚钱软件2016 编辑:程序博客网 时间:2024/05/21 14:46
Android和Java中RSA标准不一致解决方法
最近在做java RSA加密时发现Android和Java中机密的结果不一样,阅读源码查阅文档后得知java和Android对RSA的标准不一致
原生Java中的doFinal()方法源码
public final byte[] doFinal(byte[] var1) throws IllegalBlockSizeException, BadPaddingException { this.checkCipherState(); if(var1 == null) { throw new IllegalArgumentException("Null input buffer"); } else { this.chooseFirstProvider(); return this.spi.engineDoFinal(var1, 0, var1.length); }}
Android中doFinal()方法源码
public final byte[] doFinal(byte[] input) throws IllegalBlockSizeException, BadPaddingException { checkCipherState(); // Input sanity check if (input == null) { throw new IllegalArgumentException("Null input buffer"); } updateProviderIfNeeded(); return spi.engineDoFinal(input, 0, input.length); }
解决方法
在获取Cipher时指定编码方式
在Java中
public static final String KEY_ALGORITHM = "RSA";
在Android中
public static final String KEY_ALGORITHM = "RSA/ECB/PKCS1Padding";
获取Cipher
Cipher cipher = Cipher.getInstance(KEY_ALGORITHM);
阅读全文
0 0
- Android和Java中RSA标准不一致解决方法
- android RSA和Java RSA加密不一致的坑
- Android RSA与Java RSA加密不同标准产生问题的解决方法
- Android中自带的RSA加密算法和JAVA中的不是一个标准的吗?
- Android RSA算法与Java RSA算法不同标准
- java中加密算法Base64和RSA详解和Android
- 关于java 和 android 下获取指定时间是本年第几周不一致问题的解决方法
- Androdi--RSA加密和服务器不一致
- Android 和 windows 双系统,时间不一致的解决方法
- mybatis中类属性和数据表字段不一致的解决方法
- Android中自带的RSA加密算法和JAVA中的区别
- Android中自带的rsa加密算法和java中的区别
- 解决android和ios中数据库版本不一致的问题
- win7 java命令行路径不一致解决方法
- Java编程中前后台页面编码不一致问题的解决方法
- Java中使用System.out.printf().如何控制输出格式及类型不一致的解决方法
- 关于表单中文本框和密码框长度不一致的解决方法
- jsp页面中密码框和文本框长度不一致问题的解决方法
- 《Android学习笔记》gravity和Layout_gravity的区别
- MySQL用户的基本操作
- Python datetime time os模块 常用操作
- (const int *p)、(int const *p)、(int *const p)、(const int *const p)的区别
- vue-cli的使用(快速搭建项目)
- Android和Java中RSA标准不一致解决方法
- 深入理解java异常处理机制(用于自学)
- tcp/ip学习笔记--第20章 TCP Bulk data flow
- LeakCanary 原理浅析
- 远程连接不上Ubuntu
- 贝叶斯平滑
- IAAS、SAAS、PAAS 的区别
- Python Argparse
- Python散点图(Pandas + Matplotlib)实战--身高体重分布图