TCP传输中使用AES加密和gizp压缩

2023-11-15

最近项目需求需要用到TCP传输,为了保证安全传输使用AES,为了使 传输过程中减 数据量小,使用gzip压缩,特此分享一哈。
一、AES加密

关于AES的资料网上很多,个人觉得《加密与解密(第三版)》很不错,这本书中P155开始讲AES 下载地址:http://download.csdn.net/detail/qiwenmingshiwo/8755683

AES加解密算法的模式介绍 http://blog.csdn.net/searchsun/article/details/2516191

这个过程中我们使用 bcprov 这个jar包,官网: http://www.bouncycastle.org/  
1. 我们秘钥的定义:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public final static CipherParameters keyParams1 = new ParametersWithIV(
            new KeyParameter(new byte[] { (byte0x01, (byte0x01,
                    (byte0x01, (byte0x01, (byte0x01, (byte0x01,
                    (byte0x01, (byte0x01, (byte0xab, (byte0x01,
                    (byte0x01, (byte0x01, (byte0x01, (byte0x01,
                    (byte0x01, (byte0x01, (byte0x01, (byte0x01,
                    (byte0x01, (byte0x01, (byte0x01, (byte0x01,
                    (byte0x01, (byte0xfc, (byte0x01, (byte0x01,
                    (byte0x01, (byte0xed, (byte0x01, (byte0x01,
                    (byte0x01, (byte0x01 }), new byte[] { (byte0x01,
                    (byte0x01, (byte0x01, (byte0x01, (byte0x01,
                    (byte0x01, (byte0x01, (byte0x01, (byte0x01,
                    (byte0x01, (byte0x01, (byte0x01, (byte0x01,
                    (byte0x01, (byte0xcf, (byte0x01 });
2.加密方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
     /**
     * AES加密
     * @param data数据
     * @return
     * @throws InvalidCipherTextException
     */
    public static byte[] encrypt(byte[] data) throws InvalidCipherTextException
    {
        BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TCP传输中使用AES加密和gizp压缩 的相关文章

随机推荐

  • webpack-插件

    插件 Plugins 插件是 wepback 的支柱功能 webpack 自身也是构建于 你在 webpack 配置中用到的相同的插件系统之上 插件目的在于解决 loader 无法实现的其他事 剖析 webpack 插件是一个具有 appl
  • 操作系统实验:FCFS调度和SPF调度算法(C语言)

    实验内容 已知一组进程P1 P2 P3 及其到达时间和服务时间 参考下图 分别采用FCFS调度算法和SPF调度算法 求各个进程的完成时间 周转时间 带权周转时间 平均周转时间和平均带权周转时间 实验目的 熟悉FCFS调度算法的实现过程 熟练
  • CSS 图片偏移技术以及坐标问题

    CSS中通过图片偏移技术可以实现将众多小图标放入一个图片中 网页加载时只需要加载一个图片即可实现得到众多小图标的功能 这是前端设计时候对图片的一种优化方式 图片偏移技术只是一个属性而已 即 background position 100px
  • anaconda已经有sklearn,但是pycharm不能导入的解决方法

    问题 D software Anaconda3 Lib site packages文件夹里已经有sklearn这个文件夹 但是pycharm里import时无法识别到 原因 在pycharm里点击文件 gt 设置 gt 项目 gt Pyth
  • 仿微信底部菜单栏(ViewPager+ImagerView+TextView)

    前言 在市面上 大多数的APP都需要通过底部菜单栏来将程序的功能进行分类整理 通常都是分为3 5个大模块 从而正确有效地引导用户去使用我们的APP 实现底部菜单栏的方法也有很多种 1 仿微信底部菜单栏 ViewPager ImagerVie
  • CSS之继承

    1 什么是css继承 继承是css中非常重要的一个概念 当你为HTML中的某个元素赋予CSS样式时 这些样式不仅仅会影响当前元素 有的样式还会影响该元素的子元素 这些下层子元素继承上层祖先元素样式属性的特点 就称为css继承 2 css继承
  • 职业规划——我是如何在第一份工作中就能做到部门副经理的?

    这个标题一出来 想必应该就有相当一部分人在无限嘴嗨 what 这人装啥B 吹B也不带打草稿的 还以为是哪个大厂出来的 就一无名小公司 坐上去不停容易的嘛 还发出来博人眼球干啥 是的 您没看错 就是一名非计算机专业毕业的98年大专生 在一家有
  • PHP集成环境vscode配置debug

    PHP集成环境vscode配置debug 1 首先phpstudy配置下图 打开XDebug 监听端口9005 2 php ini配置 当前环境对应版本的php ini文件 用记事本打开 确认最后的XDebug如下 Xdebug zend
  • 增加数据盘 小于2T XFS文件系统

    parted dev sdb mklabel msdos mkpart p xfs 0 100 mkfs xfs dev sdb1 blkid Edit etc fstab and add UUID
  • 【C语言】快速排序函数qsort()

    快速排序函数 函数原型 各种数据类型的升序排序函数 1 整型 2 double型 3 字符排序 4 字符串排序 1 根据字符串首字母排序 2 根据字符串长度排序 3 按字典排序字符串 5 结构体 1 一级排序 2 二级排序 具体样例 1 整
  • rust开发工具

    文章目录 介绍 安装Rust 检测 安装vscode 安装Visual C 远程开发 在WSL上远程开发 SSL 远程开发 插件 技巧 idea或clion rust插件 介绍 支持Rust开发最好的开发工具有VS CODE SUBLIME
  • 用matlab画散点图,并指定点与点之间的连线

    用matlab画散点图不难 用scatter函数就行了 主要难在要指定点与点之间连线 关键在于使用gplot函数 语法 gplot A Coordinates gplot A Coordinates LineSpec X Y gplot A
  • GTK3.20安装win10主题和图标

    书接上回win10专业版vs2017编译最新版GTK的两种方法 编译完成后 生成的文件位于C gtk build gtk x64 release 把C gtk build gtk x64 release bin放到环境变量 在vs工程里引用
  • 软件定义网络 (SDN)技术原理详解

    一 SDN相关概念 1 大二层网络 互联网时代 用户的访问称之为南北向流量 而数据中心之间的数据传递成为东西向流量 很多情况下 需要不同的数据中心之间进行数据访问 数据同步 而去同步这些流量要求对这个安全性 以及稳定性有一定的挑战 而让这些
  • vue 纯前端导出 excel

    1 安装2个依赖 npm install file saver xlsx S 加载script 需要 npm install script loader D 2 在 src 目录下新建 vendor文件夹 用于存放 Blob js 和 Ex
  • 浅谈list的remove方法

    List list new ArrayList lt gt list add 11 list add 12 list add 13 list add 14 list add 15 list add 16 for Integer i 0 i
  • MATLAB 学习笔记(4)MATLAB 数组

    目录 MATLAB数组 MATLAB中的特殊阵列 MATLAB 魔方矩阵 MATLAB 多维数组 详细例子 MATLAB数组函数 详细示例 MATLAB数组排序 MATLAB单元阵列 注意 详细例子 MATLAB在单元格上阵列访问数据 MA
  • [Jenkins创建windows子节点]

    正常部署Jenkins有两种方式 一个是直接war或者msi的包在windows系统上搭建 但是windows搭建一般是自己本机进行测试 如果有多台机器同时持续集成的时候 windows并不是一个合适的方式 之前我们已经搭建了一个Rocky
  • 美团笔试题 淘汰分数

    美团笔试题 淘汰分数 某比赛已经进入了淘汰赛阶段 已知共有n名选手参与了此阶段比赛 他们的得分分别是a 1 a 2 a n 小美作为比赛的裁判希望设定一个分数线m 使得所有分数大于m的选手晋级 其他人淘汰 但是为了保护粉丝脆弱的心脏 小美希
  • TCP传输中使用AES加密和gizp压缩

    最近项目需求需要用到TCP传输 为了保证安全传输使用AES 为了使 传输过程中减 数据量小 使用gzip压缩 特此分享一哈 一 AES加密 关于AES的资料网上很多 个人觉得 加密与解密 第三版 很不错 这本书中P155开始讲AES 下载地