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压缩 的相关文章

  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • Android Studio 与本地网络共享上的项目文件

    这是我的设置 Android Studio 项目文件位于 Ubuntu 14 10 盒子上的共享文件夹中 尝试在 Windows 8 机器上运行 Android Studio 1 0 2 并将 U 驱动器映射到包含项目文件的 Ubuntu
  • 对于一个单元格,RecyclerView onBindViewHolder 调用次数过多

    我正在将 RecyclerView 与 GridLayoutManager 一起使用 对于网格中的每个项目 我需要调用 REST api 来检索数据 然后 从远程异步获取数据后 我使用 UIL 加载 显示图像 一切似乎都很好 但我发现 on
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • Android Studio 缓慢的增量构建

    我已经完成了许多步骤来完善我们的构建系统 those https stackoverflow com questions 16775197 building and running app via gradle and android st
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 在 Samsung Galaxy S5 Android 5.0 上使用 MediaPlayer 加载音频流需要超过 10 秒

    由于更新至 Android 5 0 MediaPlayer 在 Samsung Galaxy S5 上无法正常工作 启动音频流后加载时间超过 10 秒 示例代码 MediaPlayer mPlayer new MediaPlayer Str
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • 在 Android 应用程序资源中使用 JSON 文件

    假设我的应用程序的原始资源文件夹中有一个包含 JSON 内容的文件 我如何将其读入应用程序 以便我可以解析 JSON See 开放原始资源 http developer android com reference android conte
  • Android:如何从网络异步获取搜索建议?

    我创建了一个可搜索的活动 现在 我想添加从网络服务获取的搜索建议 我想异步获取这些建议 根据添加自定义建议 http developer android com guide topics search adding custom sugge
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 有没有任何代码可以在android中设置壁纸而无需裁剪和缩放?

    我正在创建一个画廊应用程序 我的第一个应用程序 这是我的代码 Bitmap bmd BitmapFactory decodeStream is try getApplicationContext setWallpaper bmd catch

随机推荐

  • 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 下载地