c# 搭建服务端 byte[] 处理(3)
数据的传输中,为防止数据传输过程中被获取解析 造成数据的不安全,一般都会采取各类的方式对数据进行加密、压缩等操作,在客户端或服务端以相同的算法解析即可获得数据,一定程度上减小了数据在中间过程被获取数据安全性的风险。
下面介绍几种知名的加密解密及数据处理的方法
1.BlowFish DataCrypto TEA XXTEA
代码下载
2.crc校验
3.数据压缩、解压缩
代码下载
//对指定buffer(byte[])进行压缩 byte[] newBuffer = ZlibHelper.CompressBytes(buffer);
//对指定的buffer(byte[])进行解压缩 byte[] newBuffer = ZlibHelper.DeCompressBytes(buffer);
4.异或:在算法中的应用可以使算法更加复杂,不易被破解,增强其安全性。
//异或因子
private static readonly byte[] xorScale = new byte[] {
,,,,,,,,,,,,
};
/// <summary>
/// 亦或
/// </summary>
/// <param name="buffer"></param>
/// <returns></returns>
public static byte[] Xor(byte[] buffer)
{
int iScaleLen = xorScale.Length;
; i < buffer.Length; i++)
{
buffer[i] = (byte)(buffer[i] ^ xorScale[i % iScaleLen]);
}
return buffer;
}
总结
在实际的程序服务端应用中,为增强数据的安全性,一般采取一种以上方法对数据进行处理后传输。在我的实际应用中,根据数据的安全性要求不同采用了不同的方式进行处理,如一些频繁访问,涉及到的传输数据较为频繁的,便使用(异或+压缩+crc方式+简单、高效的加密算法)使用其中的几种,对于安全性要求比较高的,可以采用一些成熟的、大型的算法,因为数据在加密解密过程中会浪费很多的资源,所以频繁的数据操作中,如果对安全性要求的不是那么严格,个人觉得还是要尽量避免使用笨重的加密算法的。
c# 搭建服务端 byte[] 处理(3)的更多相关文章
- CAS 5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明
CAS单点登录系列: CAS 5.1.x 的搭建和使用(一)—— 通过Overlay搭建服务端 CAS5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明 CAS5.1.x ...
- CAS 5.1.x 的搭建和使用(一)—— 通过Overlay搭建服务端
CAS单点登录系列: CAS 5.1.x 的搭建和使用(一)—— 通过Overlay搭建服务端 CAS5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明 CAS5.1.x ...
- 使用Apache MINA框架搭建服务端
使用MINA框架搭建服务端步骤: 1.定义一个启动服务的类MinaServer,并实现接口ServletContextListener 2.定义一个处理业务逻辑的类MinaServerHandler, ...
- c#搭建服务端 准备工作(1)
思路 搭建服务器主要为了接收客户端所传来的数据,在学习过程中,整体的搭建逻辑大体分为以下几个步骤: 1.启动线程监听服务端口 2.监听客户端链接并进行处理 3.接收客户端传入的消息 4.向客户端回传( ...
- Netty搭建服务端的简单应用
Netty简介 Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客 ...
- 用“MEAN”技术栈开发web应用(二)express搭建服务端框架
上一篇我们讲了如何使用angular搭建起项目的前端框架,前端抽象出一个service层来向后端发送请求,后端则返回相应的json数据.本篇我们来介绍一下,如何在nodejs环境下利用express来 ...
- c# 搭建服务端 传输协议(2)
在网络的数据传输中,要将需要传输的数据转换为二进制数据后传输,才能被服务端正常的接收,socket传输中,接收到的数据都会被放入byte[]中存放,所以在数据发送前,对二进制的数组进行有规律的排序,才 ...
- 在 Windows Server 上搭建 *** 服务端(转载加亲测)
转载自:https://diveng.io/build-shadowsocks-server-on-windows-server.html 下面的教程建议大家使用第一种方法安装,说是比较简单.我则使用 ...
- Netty入门系列(1) --使用Netty搭建服务端和客户端
引言 前面我们介绍了网络一些基本的概念,虽然说这些很难吧,但是至少要做到理解吧.有了之前的基础,我们来正式揭开Netty这神秘的面纱就会简单很多. 服务端 public class PrintServ ...
随机推荐
- hdu 5126 stars cdq分治套cdq分治+树状数组
题目链接 给n个操作, 第一种是在x, y, z这个点+1. 第二种询问(x1, y1, z1). (x2, y2, z2)之间的总值. 用一次cdq分治可以将三维变两维, 两次的话就变成一维了, 然 ...
- Android06-Fragment碎片
¨Fragment简介 ¨Fragment生命周期 ¨动态加载碎片Fragment Manager的使用 1.Fragment表示Activity中的一种行为或者一部分用户界面. 可以将Fragm ...
- JDK常见问题 环境变量配置
"javac不是内部命令或外部命令" Windows7 安装"jdk-6u26-windows-x64.exe"后,常提示"javac不是内部命令或外 ...
- Qt新建线程的方法(四种办法,很详细,有截图)
看了不少Qt线程的东西,下面总结一下Qt新建一个线程的方法. 一.继承QThread 继承QThread,这应该是最常用的方法了.我们可以通过重写虚函数void QThread::run ()实现我们 ...
- POJ 3111 K Best(二分答案)
[题目链接] http://poj.org/problem?id=3111 [题目大意] 选取k个物品,最大化sum(ai)/sum(bi) [题解] 如果答案是x,那么有sigma(a)>=s ...
- makefile编写差异
由于zlib动态库在linux下引用的问题引出了对于简练的makefile的学习.之前通过看网络上的一些文章自己也算简单了解如何编写一个makefile,可总是不那么美观,今天经过辉哥的指点,对于ma ...
- mysql数据库学习(一)--基础
一.简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 R ...
- c++适配器模式
你想使用一个已经存在的类,而它的接口不符合你的需求. 创建一个类需要和其他类协同完成任务,需要一个适配器将其他类的方法都转接到适配器当中 什么是适配器模式:有一个目标客户类想适用已经存在类的接口,但是 ...
- Pods 更新后提示Bundle资源找不到
http://www.oschina.net/question/101347_2159145
- C# 使用XmlDocument类对XML文档进行操作
原创地址:http://www.cnblogs.com/jfzhu/archive/2012/11/19/2778098.html 转载请注明出处 W3C制定了XML DOM标准.很多编程语言中多提供 ...