随笔分类 -  【01】C#开发

摘要:起因最近在用C#实现一个安全通信软件,基本思想是发送方在发送数据时先对数据进行加密再发送,同样接收方从网络上收到数据后先对数据进行解密再把解密后的数据递交到上层应用。 实现方式是通过封装TCPCLient类的一些方法,向外提供封装好的安全SOCKET,自动完成数据的加解密。上层应用只需调用安全SOCKET进行原始数据的发送与接收并不用关心底层数据的加解密,使用方式与使用系统原始的SOCKET一样。 public int Send(byte[] data) { try { int len = 0; byte[] ... 阅读全文
posted @ 2013-03-20 21:21 ljhero 阅读(1888) 评论(8) 推荐(0) 编辑
摘要:概述主要设计思想是通过一个共享队列,多个输入端能同时非阻塞式的向队列中增加记录信息,输出端能自动及时的把队列中的记录信息输出到控制台或是保存到文件及数据库中。多个输入端互相隔离,采用多线程实现,但考虑到缓存日志信息的是一个共享队列,自然涉及到线程间的同步问题。本文的实现模式是采用操作系统中很经典的生产者/消费者模式。线程间的同步是通过事件信号,同时对共享队列的修改进行加锁保护,避免多个线程同时修改队列。日志记录类实现整个实现除了主要的日志记录类,还要定义同步事件类封装用于线程间同步的事件对象,定义日志信息类用于生成日志信息能存于共享队列中。1. 同步事件类 SyncEvents该类的定义与使用 阅读全文
posted @ 2013-03-04 22:48 ljhero 阅读(7509) 评论(2) 推荐(2) 编辑
摘要:1. 分组密码分组密码是将明文消息编码表示后数字序列划分成长为n的分组,各组分别在密钥的作用下进行变换输出等长的数字序列,即密文。一次加密一个数据组,加解密所使用的是同一密钥,故其通常也称为对称加密。分组长n各种不同的对称加密算法取值不同(DES和TripleDES为64位,AES默认为128位,也可以为192位和256位),在对明文消息进行分组时如果最后个分组小于n,则要进行数据填充,使分组长达到n才能进行后续的加密处理。.net平台提供的加密类都很好的处理了上述问题,所以在用C#语言进行实际编码能很简便的完成加解密操作。Rijndael算法作为AES的一种,已经取代TripleDES(三重 阅读全文
posted @ 2012-07-22 15:08 ljhero 阅读(3070) 评论(0) 推荐(0) 编辑