java实现RSA和AES加密(一)
java实现RSA和AES加密(一)
由于公司要求接口安全升级,从自定义防篡改数据MD5加密验证,到使用RSA加密。
原始的MD5防数据篡改的方式:
将所有参数拼接起来,然后在某一字节后加入自定义的字串(混淆码),然后进行MD5加密生成一个str_md5_client值,客户端将加密后的str_md5_client作为一个参数传给后台,后台将其他参数也进行相同的方式拼接混淆加密,生成str_md5_service,将str_md5_client和str_md5_service进行equals比较。true时进行业务操作,false时数据被篡改。
/**
* 生成混淆码
* 参数拼接,在第二字节加入混淆码,进行MD5加密(可在加密后再加入字节排序)
* @author saolangjian 2016-07-06
*
* @param 参数数组
* @return str_md5
*/
public static String getAppKey(Object[] args){
try {
StringBuffer sb = new StringBuffer();
String Key= "123456";//混淆码
String str="";
if(args.length<=0){
sb.append(Key);
str =sb.toString();
System.out.println(str);
}else{
for(int i=0;i
以上,是最初实现的防篡改方案,做了些简单的加密。
下面是根据实现别人的API文档,做出的RSA和AES加密设计。
使用AES对称加密和非对称加密混用,提高加密效率,和加密复杂程度。
返回数据,由于最终还是要做展示的,没必要做非对称加密减慢接口返回数据效率,只做AES加密。
java实现RSA和AES加密(一)相关推荐
- Java 实现RSA签名和加密
Java 实现RSA签名和加密 RSA在1977年发明,是公钥加密方式的事实标准,名称有其三位作者首字母组成.本文我们介绍Java中如何使用RSA实现加密和签名. RSA属于非对称加密算法,有两个密钥 ...
- Python crypto模块实现RSA和AES加密解密
Python crypto模块实现RSA和AES加密解密 Python的crypto是用于RSA加密解密,AES加密解密的. 一.RSA和AES简介 RSA加密算法是一种非对称加密算法.RSA 是19 ...
- 密码学之RSA与AES加密解密在项目中的应用
如何在项目中保证用户数据安全-前后端亲测有效 步骤: RSA非对称加密工具类: AES对称加密工具类: 测试类: 前端: 源码地址 步骤: 比如用户修改密码: server端 生成base64编码后的 ...
- android开发 java与c# 兼容AES加密
由于android客户端采用的是AES加密,服务器用的是asp.net(c#),所以就造成了不一致的加密与解密问题,下面就贴出代码,已经试验过. using System; using System. ...
- Java 环境下使用 AES 加密的特殊问题处理
1. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥的时候,会报告密钥长度错误 Invalid AES key length 你需要下载一个支持更长密钥的包.这个包叫做 ...
- Java的SHA1PRING方式AES加密对应的PHP写法
近期项目论坛,需要把网站的登陆注册用户这方面要全部走上面给的用户中心数据库的接口,接口文档中用到了AES加密,原以为用PHP的mcrypt_encrypt或者openssl_encrypt写就好了,没 ...
- java之RSA和Base64加密帮助类
1.RSAUtils.java类 package com.sangfor.vpn.client.service.utils; import java.io.BufferedReader; import ...
- java aes 中文_从Java到Python的AES加密
我试图对python和java中的一些字符串进行加密和解密,反之亦然,但是当我尝试用java加密和在python中使用相同的密钥解密时,我遇到了问题.在 这是我用来解密java输出的python算法f ...
- RSA + AES加密原理,一线大厂主流的加密手段,流程浅析,有十分详细的测试Demo
原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重. 系列文章目录 RSA+AES数据传输的加密解密[篇],项目实战(专题汇总): AES 加密解密简述 + 完美工具类 AESUtils RS ...
最新文章
- API Gateways – An Evaluation of Zuul 2
- 拜占庭将军问题与中本聪
- 交互原型细节提升之路
- Git指令2 - 操作分支
- JMeter响应断言详解
- JavaScript学习笔记(七)--函数
- messagebox 全部使用_商业篇 | 使用python开发性格分析工具卖钱
- LeetCode OJ - Surrounded Regions
- Excel 已经检测到XXX.xsl是SYLK文件,但是不能将其加载的问题
- 《IT项目管理那些事儿》——前言
- Just for fun--Linus
- [译] Commit 提交指南
- Delphi Xe Web开发之 unigui入门视频教程
- 学习银行系统开发经验
- Scara机器人正逆运动学分析
- 【已解决】最新版本的Chrome浏览器如何设置网页编码
- IE无法打开网页的问题
- 苹果云服务icloud_苹果手机通讯录突然没了怎么办?分享简单的补救技巧
- 新手必看--test link使用步骤
- 隧道保活超时或协商超时_丰巢快递柜超时收费的法律分析