摘要: 第二个模式:观察者模式 1.1问题引入 气象站布告栏,对于注册的用户会实时的报告气候的变化,对于取消注册的用户将不会在推送消息。如下面的模式所示: 推出:出版者+订阅者=观察者模式 出版者=“主题(Subject)”, 订阅者=“观察者(Observer)” 总结: 观察者模式:定义了对象之间一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖着都会受到通知并自动更新。 1.2解决方案1 使... 阅读全文
posted @ 2015-05-14 15:47 maverick_fu 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 第一个模式:策略模式 1.1 问题引入 目标:我们设计了一个鸭子超类,现在有很多鸭子会继承这个超类的行为;同时我们希望有一些鸭子具有不同的行为,比如说能飞翔; 1.2实现方案1: 利用继承来实现Duck的行为。 对于子类中的各种鸭子,如果有不同的行为,需要Override超类的行为; 利用继承的方法会出现以下的结果: 实现方案2:因为并不是所有的鸭子都会叫或者飞翔,所以可以考虑将其提取出来,作... 阅读全文
posted @ 2015-05-14 15:28 maverick_fu 阅读(155) 评论(0) 推荐(0) 编辑
摘要: JVM剖析这篇文章详细解释了Java虚拟机的内部架构。以下这幅图展示了Java虚拟机里面的关键组件(是依据Java SE 7版本的Java虚拟机)。这些组件将在下面的两个章节一一展开。第一章节涵盖了创建每一个线程(Thread)的组件;第二章节涵盖了独立于线程外的组件。线程(Threads)1 JV... 阅读全文
posted @ 2015-04-23 21:19 maverick_fu 阅读(228) 评论(1) 推荐(0) 编辑
摘要: 在密码学中,Feister network(又叫Feister Function, 一下简称 F函数)是一种用在块加密上的对称结构,很多种块加密算法都是使用这种结构。 优点: 1.加解密的过程非常相似,甚至相同,所以在软件实现上代码会减半。 2.F函数采用的迭代模式使得它在硬件实现上也是非常简便。 基本元操作: 1.Bit shuffling:实现香农理论中的‘扩散’效应 2.Simple non... 阅读全文
posted @ 2015-03-19 21:55 maverick_fu 阅读(315) 评论(0) 推荐(0) 编辑
摘要: RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解。我们经过整理和改写特别推荐给大家阅读,希望能够对时间紧张但是又想了解它的同事有所帮助。RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者Ron Ri... 阅读全文
posted @ 2015-03-19 16:10 maverick_fu 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 1、 简介 IDEA是International Data Encryption Algorithm 的缩写,是1990年由瑞士联邦技术学院来学嘉X.J.Lai 和Massey提出的建议标准算法称作PES( Proposed Encryption Standard) 。Lai 和Massey 在1992 年进行了改进强化了抗差分分析的能力改称为IDEA 它也是对64bit大小的数据块加密的分组加密... 阅读全文
posted @ 2015-03-18 16:26 maverick_fu 阅读(840) 评论(0) 推荐(0) 编辑
摘要: RC4是Ron Rivest在1987年设计的密钥长度可变的流加密算法。它加解密使用相同的密钥,因此也属于对称加密算法。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采用的算法之一。由于RC4算法存在弱点,RFC 7465规定禁止在TLS中使用RC4加密算法[1]。 RC4由伪随机数生成器和异或运算组成。RC4的密钥长度可变,范围是[1,255]。RC4一个字节一个字节地加解密。... 阅读全文
posted @ 2015-03-18 15:04 maverick_fu 阅读(817) 评论(0) 推荐(0) 编辑
摘要: 1.introductionRC2是一种传统的私钥块加密算法,曾经被考虑作为DES算法的替代品。输入和输出块大小都是64bits。而密钥是可变的,从1byte到128bytes,现在常用的是8字节。1.1Algorithm description字:16比特位;‘+’:加;‘&’:表示比特敏感的与操... 阅读全文
posted @ 2015-03-18 14:18 maverick_fu 阅读(4876) 评论(0) 推荐(0) 编辑
摘要: 1.填充数据为填充字节的长度 这种填充方式中,填充字符串由一个字节序列组成,每个字节填充该字节序列的长度。假定块长度为8,原文数据长度9,则填充字节数等于0x07;如果明文数据长度为8的整数倍,则填充字节数为0x08。填充字符串如下:原文数据1:FF FF FF FF FF FF FF FF FF填充后数据1:FF FF FF FF FF FF FF FF FF 07 07 07 07 07 07... 阅读全文
posted @ 2015-03-17 21:58 maverick_fu 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 这是我在做毕设时出现的一些问题和解决方法,一一写下来:1.Converting int to bytes in Python3:比如说,我想将整型3转换成二进制3,是使用bytes([3]),是上面help中的第一种情况。2.python 3 中bytes/str之别(转)Python 3最重要的新... 阅读全文
posted @ 2015-03-17 14:26 maverick_fu 阅读(146) 评论(0) 推荐(0) 编辑