摘要:这是一个高内聚低耦合可复用的DES加密系统的实现。Github 链接:https://github.com/cyendra/CyDES要实现加密系统,先考虑数据的基本单位。在DES加密中,数据是以64位为一组的(unsigned long long),我们称它为Bit。加密过程中会对Bit做位移操作...
        阅读全文
        | 09 2014 档案
摘要:这是一个高内聚低耦合可复用的DES加密系统的实现。Github 链接:https://github.com/cyendra/CyDES要实现加密系统,先考虑数据的基本单位。在DES加密中,数据是以64位为一组的(unsigned long long),我们称它为Bit。加密过程中会对Bit做位移操作...
        阅读全文
 
摘要:Windows编程中创建线程的常见函数有:CreateThread、_beginthread、_beginthreadex。据说在任何情况下_beginthreadex都是较好的选择。_beginthreadex的参数虽然多,但是大部分填NULL或0使用默认值就可以了。1 uintptr_t...
        阅读全文
 
摘要:Simplified Data Encryption Standard S-DES 是一个供教学的非安全的加密算法,它与DES的特性和结构类似,但参数小,明文分组为8位,主密钥分组为10位,采用两轮迭代。S-DES加密过程包含两个重要部分:子密码生成过程,f函数结构。S-DES加密原理:S-DES的...
        阅读全文
 
摘要:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。需要适配的类(Adaptee):需要适配的类或适配者类。适配器(Adapter):通过包装一...
        阅读全文
 
摘要:词法分析器的主要任务是读入源程序的输入字符、将它们组成词素,生成并输出一个词法单元序列,每个词法单元对应于一个词素。当词法分析器发现了一个标识符的词素时,要将这个词素添加到符号表中。其他任务:过滤掉源程序中的注释和空白。将编译器生成的错误信息与源程序的位置联系起来。记录行号等。词法分析器的两个级联的...
        阅读全文
 
摘要:文法的形式定义于分类一个上下文无关文法有四个元素组成:一个终结符号集合,也称为词法单元。一个非终结符号集合,也称为语法变量。一个产生式集合。一个开始符号。文法G可以抽象成四元组的形式:G=(VN,VT,P,S)其中VN表示非终结符集,VT表示终结符集,P表示产生式集,S表示开始符号。文法G描述的语言...
        阅读全文
 
摘要:链接ws2_32.lib库头文件#include 1 int WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData);初始化Winsock库wVersionRequested:Winsock版本信息,用MAKEWORD宏构造,MAKEWORD(...
        阅读全文
 
摘要:什么是因特网传统的因特网端和非传统的因特网端,所有这些设备都称为主机或端系统。端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起。当一台端系统有数据向另一台端系统发射时,发送端系统将数据分段,并为每段加上首部字节,由此形成的信息包称为分组(...
        阅读全文
 
摘要:操作系统为用户程序提供一个更好、更简单、更清晰的计算机模型,并管理所有设备。与用户交互的程序,基于文本的通常称为shell,基于图标的则称为图形用户界面Graphical User Interface(GUI)。什么是操作系统操作系统扩展机器,操作系统的一个主要任务是隐藏硬件,呈现给程序一个良好清晰...
        阅读全文
 
摘要:古典密码是对字母间相互代替或相互换位来进行加密。分代替密码和换位密码两种。代替指将明文中的字符用其它字符代替,分单表代替和多表代替。代替方案称为秘钥。单表代替密码的安全性不高,一个原因是一个明文字母只由一个密文字母代替。可以利用频率分析来破译。多表代换密码,即构造多个密文字母表,在密钥的控制下用以一...
        阅读全文
 
摘要:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。当同时满足以下情况的时候可以使用Builder模式:当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式。当构造过程必须允许构造的对象有不同的表示。将一个“复杂对象的构建算法”与它的“部件及组装方式”分离,使得构件...
        阅读全文
 
摘要:Factory method工厂方法模式是一种实现了“工厂”概念的面向对象设计模式。就像其他创建型模式一样,它也是处理在不指定对象具体类型的情况下创建对象的问题。工厂方法模式的实质是“定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。”创建一个对象...
        阅读全文
 
摘要:提供一个创建一些列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂顾名思义就是对工厂的抽象,它提供了一组创建抽象产品对象的操作接口,我们实际使用的是抽象工厂的派生类,派生类中提供了操作的具体实现,创建一组具体的对象。以下情况可以使用抽象工厂模式:一个系统要独立于它的产品的创建、组合和表示时...
        阅读全文
 
摘要:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式即在运行时动态的通过一个对象的实例来创建这个类的对象,可以理解成通过一个实例克隆出另一个实例。Prototype模式的一些优点:对客户隐藏具体的类,使客户直接可使用与特定应用相关的类。运行时刻增加和删除产品。改变值以指定新对象。...
        阅读全文
 
摘要:单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。只有一个实例对于一些类来说很重要。让类负责保存它的唯一实例。这个类保证没有其它实例可以被创建,并且它提供一个访问该实例的方法。这就是Singleton模式。在下面的情况下可以使用单例模式。当类只能有一个实例而且客户可以从一个众所周知的访问...
        阅读全文
 
摘要:引用计数的智能指针是对《Effective C++ 条款13:以对象管理资源》的一个实现。我们要设计一个智能指针,使他能够管理资源,在正确的实际调用资源的析构函数。首先我们需要一个指针reference来指向资源,当智能指针构造时,用reference指针指向资源,在我们确定资源应该被析构时,我们对...
        阅读全文
 
 |