import java.io.ByteArrayOutputStream;

/**

* 表单传输信息加密

* @author wutz

*

*/

public class Base64Util {

private static char[] base64EncodeChars = new char[] { 'A', 'B', 'C', 'D',

'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',

'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',

'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q',

'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3',

'4', '5', '6', '7', '8', '9', '+', '/', };

private static byte[] base64DecodeChars = new byte[] { -1, -1, -1, -1, -1,

-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,

-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,

-1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59,

60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,

10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,

-1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,

38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1,

-1, -1 };

/**

* 解密

* @param str

* @return

*/

public static byte[] decode(String str) {

byte[] data = str.getBytes();

int len = data.length;

ByteArrayOutputStream buf = new ByteArrayOutputStream(len);

int i = 0;

int b1, b2, b3, b4;

while (i < len) {

do {

b1 = base64DecodeChars[data[i++]];

} while (i < len && b1 == -1);

if (b1 == -1) {

break;

}

do {

b2 = base64DecodeChars[data[i++]];

} while (i < len && b2 == -1);

if (b2 == -1) {

break;

}

buf.write((int) ((b1 << 2) | ((b2 & 0x30) >>> 4)));

do {

b3 = data[i++];

if (b3 == 61) {

return buf.toByteArray();

}

b3 = base64DecodeChars[b3];

} while (i < len && b3 == -1);

if (b3 == -1) {

break;

}

buf.write((int) (((b2 & 0x0f) << 4) | ((b3 & 0x3c) >>> 2)));

do {

b4 = data[i++];

if (b4 == 61) {

return buf.toByteArray();

}

b4 = base64DecodeChars[b4];

} while (i < len && b4 == -1);

if (b4 == -1) {

break;

}

buf.write((int) (((b3 & 0x03) << 6) | b4));

}

return buf.toByteArray();

}

/**

* 返回解密结果

*/

public static String decodeToString(String param){

return new String(decode(param));

}

}

java请求url加密_URL请求对参数前端JS加密,后台JAVA解密相关推荐

  1. 什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13)

    什么是Java / JVM中的-Xms和-Xms参数(已更新至Java 13) 简而言之, Xmx指定应用程序可用的最大堆大小 Xms指定应用程序可用的最小堆大小 这些是Java虚拟机(JVM)参数, ...

  2. Hbuilder MUI里面使用java.net.URL发送网络请求,操作cookie

    1. 引入所需网络请求类: var URL = plus.android.importClass("java.net.URL");var URLConnection = plus. ...

  3. html目录参数加密,从HTML文件中取出JS加密需要的参数,并调用js内的加密算法

    简介这篇文章主要介绍了从HTML文件中取出JS加密需要的参数,并调用js内的加密算法以及相关的经验技巧,文章约2677字,浏览量385,点赞数2,值得参考! 背景,爬虫程序需要模拟登陆,账号密码是经j ...

  4. hikaridatasource 加密后登陆不上_渗透测试 | 突破前端JS加密限制

    前言 现在前端开发为了提高爬虫的难度及加强安全性,都会在数据包提交前进行加密,最典型的就是传参加密,相信大家在测试的时候都遇到过,那么我们在抓取数据包并修改之后,修改之后的参数无法通过后端程序数据完整 ...

  5. python写网页前端交易rsa加密_Flask框架实现的前端RSA加密与后端Python解密功能详解!...

    本文实例讲述了Flask框架实现的前端RSA加密与后端Python解密功能.分享给大家供大家参考,具体如下: 前言 在使用 Flask 开发用户登录API的时候,我之前都是明文传输 username ...

  6. python后端开发框架加密_Flask框架实现的前端RSA加密与后端Python解密功能详解

    本文实例讲述了Flask框架实现的前端RSA加密与后端Python解密功能.分享给大家供大家参考,具体如下: 前言 在使用 Flask 开发用户登录API的时候,我之前都是明文传输 username ...

  7. Android使用webview控件加载本地html,通过Js与后台Java实现数据的传递

    1.在布局文件中加WebView控件,在java中获取WebView对象. 2.加载本地html文件. webView.loadUrl("file:///android_asset/andr ...

  8. 前后端交互,密码加密,RSA 实现前端 js 加密,后端 go 解密

    RSA 加密算法简介 一种比较常见的非对称加密算法,常用于前后端交互中的密码加密,前端使用公钥加密密码,后端使用私钥进行解密.公钥可对外开放,私钥是存放在服务端,外部正常情况下是拿不到解密私钥的. 以 ...

  9. DWR框架--让前端JS代码调用JAVA后端的方法

    目录 1.DWR框架简介 2.使用步骤 2.1.pom.xml导入包 2.2.配置web.xml文件 2.2.1.先了解dwr的jar包(不同版本不一样,需注意) 2.2.2.在web.xml中增加d ...

最新文章

  1. coreData使用
  2. C++和C语言的关系
  3. 历史命令与实时记录(redhat6.8)
  4. C++ 练习题(一:布尔表达式与真值表图文详解)
  5. ambari 搭建hadoop大数据平台系列4-配置ambari-server
  6. gimp 抠图_GIMP入门教程2——利用蒙版抠图.pdf
  7. 游戏设计的第一步:设计体验
  8. YOLO算法v1-v3原理通俗理解
  9. java计算机毕业设计论文评审系统源码+系统+mysql数据库+lw文档
  10. c++ 十六进制转二进制数_二进制数制
  11. leetcode739
  12. 从JDBC规范谈桥接模式
  13. ffmpeg实例,fade淡入淡出效果
  14. 利用百度身份证识别服务和python语言实现身份证信息的提取和保存
  15. 智能AI短视频搬运剪辑小程序,可过原创检测
  16. 我的程序员成长之路——回顾自己三年的工作
  17. php excel 右对齐,excel中单元格对齐方式在哪里设置?
  18. 安卓进度条自动增加从1到100完整代码
  19. 湖南计算机大专分数线多少,湖南多少分能上大专,湖南大专院校最低分数线
  20. 记录一次基于PyQt5的标准铂电阻温度计分度表制作界面设计

热门文章

  1. seo从入门到精通_新手学习SEO一个月能学会吗?
  2. 专属设计师的专业领域导航网站
  3. UI设计素材|如何为数据可视化选择更漂亮的颜色
  4. UI设计字体素材|设计中字母间距指南
  5. jquery 加载显示loading图标_王者荣耀100强什么意思?loading界面左上角100强有什么含义...
  6. Madagascar的宏定义函数--判断整数的奇偶性函数
  7. Linux虚拟化KVM-Qemu分析(九)之virtio设备
  8. pytorch实现人脸识别_PyTorch实现,GitHub4000星:这是微软开源的计算机视觉库
  9. mysql 字段值1_2_3 如何查询3是否存在?_MySQL根据col1中的值是否存在于col2中以及col3是否=值来更新col4...
  10. 白居易最动人的10句诗