博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RSA Android加密的数据服务器上无法解密?
阅读量:6674 次
发布时间:2019-06-25

本文共 878 字,大约阅读时间需要 2 分钟。

一、android加密的数据服务器上无法解密?

“算法/模式/填充”

  • android的rsa加密方式是--------RSA/ECB/NoPadding或者RSA/None/NoPadding
  • 标准jdk的rsa加密方式是-------- RSA/ECB/PKCS1Padding或者RSA/None/PKCS1Padding

加密时要设置标准jdk的加密方式

/*加密方式,android的*/        public static final String  mAlgorithm= "RSA/ECB/NoPadding";        public static final String  mAlgorithm= "RSA/None/NoPadding";
/*加密方式,标准jdk的*/        public static final String  mAlgorithm= "RSA/ECB/PKCS1Padding";        public static final String  mAlgorithm= "RSA/None/PKCS1Padding";

加解密数据 两种均可,亲测

Cipher cp = Cipher.getInstance("RSA/ECB/PKCS1Padding");    Cipher cp = Cipher.getInstance("RSA/None/PKCS1Padding");

所以能否配置为可配置的算法模式填充?

其他的解决方案:

源码中,Base64加密使用Default模式,这导致编码后会出现“+”、“\r\n”等字符。

在HTTP传输的过程中,“+”等,可能会被忽略,这导致源签名/加密数据 和服务器实际收到的不一致,最终导致解密不出来。

建议使用Base64.URL_SAFE模式,将“+”等字符替换为"_-"。或者使用jutil包下java.util.Base64.getUrlEncoder()、getUrlDecoder替换源码中的Base64编码方案。

原文地址:

转载地址:http://abgxo.baihongyu.com/

你可能感兴趣的文章
创建cocos2d-x+lua项目
查看>>
基于cancel的不全然恢复
查看>>
CentOS Linux release 7.3源码安装zabbix
查看>>
(016)给定一个有序数组(递增),敲代码构建一棵具有最小高度的二叉树(keep it up)...
查看>>
【零基础学习iOS开发】【01-前言】02-准备
查看>>
matlab之图像处理(2)
查看>>
javascript JSON
查看>>
HDOJ 2196 Computer 树的直径
查看>>
css去掉a标签点击后的虚线框
查看>>
机器学习:逻辑回归
查看>>
Java字符编码的转化问题
查看>>
Node.js 连接 MySQL
查看>>
02-线性结构3. 求前缀表达式的值(25)
查看>>
csdn知识库
查看>>
安卓实训第四天--基于HttpClient来完毕数据在server和设备间的交互。
查看>>
软件測试、ios中的測试概念以及步骤
查看>>
具体图解 Flume介绍、安装配置
查看>>
tensorflow 1.0 学习:池化层(pooling)和全连接层(dense)
查看>>
LeetCode96_Unique Binary Search Trees(求1到n这些节点能够组成多少种不同的二叉查找树) Java题解...
查看>>
JAVA常见算法题(十二)
查看>>