非对称加密和对称加密的区别 对称加密(Symmetric Cryptography) 对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。 对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。 2000年10月2日,美国国家标准与技术研究所(NIST–American National Institute of Standards and Technology)选择了Rijndael算法作为新的高级加密标准(AES–Advanced Encryption 继续阅读 >>


周攀 17/02/14 14:54:31
物理层 在开始说物理层之前,我们需要了解一下关于分层的有关知识,并了解OSI七层模型和TCP/IP五层模型。 为什么要分层? 答:计算机网络是个非常复杂的一个系统,其实现了全球性的不同设备,不同的地域,不同应用之间的互联,其复杂程度可想而知,想要通过一套系统之间完成这一复杂过程,其几乎是不可能完成的,于是分层的思想就被用到网络的设计上面。分层,一方面可以将庞大的问题,转化为若干较小的局部问题,从而使问题易于处理,其次,方便了不同的上层对下层的复用。 国际标准化组织ISO在1977年成立了专门机构来研究网络的分层设计问题,从而研究出了开放系统互联基本参考模型OSI/RM,简称OSI,然而由于OSI过于复杂,效率低下,且层次划分不合理,部分功能在多层之间都有出现,从而导致其并没有被普及,反而是当时非国际标准的TCP/IP得到了广泛的应用。 物理层考虑的是怎样将不同的设备连接起来,以使其之间能够传输比特流,简单来说,就是让不同设备之间连通起来,可以“通电”。因此物理层规定的都是硬件相关的东西,比如: 传输媒介的机械特性,规定各种接线器的形状尺寸,引 继续阅读 >>


周攀 17/02/11 19:53:17
sed基础用法整理 sed: Stream Editor 行编辑器 用法:          sed [Options] ‘AddressCommand’ file… 常用参数:          -n:静默模式,不显示未操作行,默认会将未操作的行显示。          -i:直接修改源文件,默认情况下,sed的操作不会对源文件有任何影响,只会将结果显示到显示器。          -e script:script为sed相关操作,同时执行多个操作,每个-e后,跟一个操作          -f FILE:FIEL指的是某一文件的路径(绝对,相对均可),将操作保存至文件中,一行一个操作,此方法 继续阅读 >>


周攀 17/02/09 14:13:21
最近在复习linux基础,发现grep是个非常值得复习整理的一个命令,今天分享一下 grep  [OPTIONS]  PATTERN  [FILE...] OPTIONS: 参数,常用的-i,-o,-v PATTERN:文字字符或正则表达式 FILE:操作文件对象,可操作多个文件 常用参数:          -i:忽略大小写          -v:显示文件所有行,默认只显示匹配到的行          -o:只显示匹配到的字符串          -E:使用扩展的正则表达式          -A#:#号代表任意非负整 继续阅读 >>


周攀 17/02/08 21:59:07
第三章:分组交换原理 3.1 帧定界 帧的定义 : 在分层的网络体系中,数据链路层的传输单元则称为帧。在数据链路层,总是把来自上层的数据以帧为单位打包,然后在物理线路上传输。 一帧通常包括: 帧的开始和结尾的标识Flag,控制字段Header,来自上层的净负荷(网络层的数据),差错检测码CRC等。 帧定界: 基于字符:该方式中,帧是字节或字符的集合。每帧的开始和结束位置使用一个专用字符标识一帧的边界,称为Flag,接收端如果收到两个连续的Flag字符则指示一帧的结束和下一帧的开始。 基于比特 :该方式中,帧看成一个比特序列的集合。每一帧开始和结束用一个特殊的比特序列标识,例如在HDLC协议中使用01111110(0x7e)序列作为帧定界的Flag标志。 3.2 流量控制 定义: 负责协调两个通信实体之间的数据传输速率,防止发送端的发送速率超过接收端的处理能力。 分类: 开环:发送端和接收端之间没有反馈信息 电路交换与虚电路技术中 闭环:有反馈信息 停等,滑动窗口-ARQ等 继续阅读 >>


周攀 16/12/23 17:54:18
第二章:传送网 2.1 传输介质与复用方式 物理层的主要任务描述为确定与传输媒体的接口的一些特性,即: 机械特性:指明接口所用接线器的形状和尺寸、引线数目和排列、 固定和锁定装置等等。 电气特性:指明在接口电缆的各条线上出现的电压的范围。 功能特性:指明某条线上出现的某一电平的电压表示何种意义。 规程特性:指明对于不同功能的各种可能事件的出现顺序。 传输介质的选择考虑: 所传输的数据速率要求 实际通信的传输距离和抗干扰性能 具体的网络拓扑结构和应用场合的使用情况 线缆和线缆组件的成本 安装的灵活性和便捷性 传输介质: 双绞线: 屏蔽双绞线 无屏蔽双绞线 同轴电缆: 50 欧同轴电缆 75 欧 同轴电缆 光缆 无线介质: 无线电 微波 红外线 多路复用技术: 基带传输系统 指在短距离内直接在传输介质上传输未经调制的模拟或数字基带信号的系统。 只有双绞线可以直接传输基带信号。 优点:线路设备简单; 缺点:传输媒介的带宽利用率不高,不适于在长途线路上使用; 使用范围:在传统电话用户线上或在局域网中使用。 频分 继续阅读 >>


周攀 16/12/22 22:51:37
第1章 1.1 通信网的基本概念 通信网的基本构成要素:终端节点,交换节点,传输系统 终端节点:信息的源节点和终点,用户和网络的接口设备 交换节点:通信网的核心设备,负责集中、转发终端节点所产生的用户信息 传输系统:为信息的传输提供传输通道,包括传输链路和传输设备 注意: 终端节点、交换节点、传输系统称为通信网的三要素 基本构成,必要但不充分条件,意思就是通信网具备这三个要素,但是具备此三要素的并不一定是通信网。 现代通信网定义:通信网是由一定数量的节点(包括终端节点、交换节点)和连接这些节点的传输系统有机地组织在一起的,按约定的信令或协议完成任意用户间信息交换的通信体系。 构成要素: 硬件:通信网由终端节点、交换节点、业务节点和传输系统构成,它们完成通信网的基本功能:接入、交换和传输。 软件:包括信令、协议、控制、管理、计费等,它们主要完成通信网的控制、管理、运营和维护,实现通信网的智能化。 通信网的构成: 垂直划分:业务网,支撑网,传送网 水平划分:用户驻地网,接入网,核心网 1.2通信网的交换技 继续阅读 >>


周攀 16/12/20 22:40:45
这几天邻近期末,感觉上了快一学期的编译原理的许多方面还是难以理解,今天早上就突然遇到了一道题,求短语,直接短语和句柄的题,突然才发现自己连这些词的定义都不清楚,于是仔细查了以下,下面分享出来: 短语 书上的定义如下: 书上写的比较抽象,我这里简单解释一下,有两个文法,分别是: S=*=>aAp (由于部分字符难以输入,在此用a,b,p代替) A=+=>b 我们由此可以画出他的抽象语法树,如下: 那么,abp为此句型的短语 总结来说:一个句型的语法树中任一子树叶结点所组成的符号串都是该句型的短语,由这概念,那么我们自然可以想到,b也应该是该句型的一个短语。 直接短语 书中的定义: 书中的意思总结来说,指的是如果子树中不再包含其他的子树,即A只能推导出b,而b不能再推出其他的式子,则b为此句型的直接短语 句柄 先来看一下书中的定义: 书中的意思就是:直接短语中的最左直接短语为该句型的句柄。 小练习 如何证明E+T*F是句型呢?最简单的方法就是画抽象语法树,如果能画出对应的抽象语法树, 继续阅读 >>


周攀 16/12/13 19:37:55
仓库管理系统需求 仓库管理系统是针对企业仓库材料的出入库登记和查询统计等方面工作而开发的管理软件,是一个实用的管理信息系统,针对企业的实际需要,分析了企业仓库管理系统的功能,并以入库管理和出库管理为重点,描述了两子系统的模块结构设计及实施过程中的技术要点,实现仓库的材料管理、出入库管理、查询管理及用户管理等功能。提高仓库管理效率,减轻劳动强度;提高信息处理速度和准确性;为仓库管理者提供更方便、科学的服务项目 主要功能: 对仓库里的货物的基本情况进行更新、删除和查询 对货物的出库和入库进行管理,对出入库明细进行查询,对出库,入库,和货物的库存余额进行报表生成。 用户进行更新、删除和查询 在库存管理中加入最高储备和最低储备字段,对仓库的物质设备实现监控和报警 操作日志的管理 产品入库:采购入库或者其他入库,自动生成入库单号,货品及可选择方便快捷,可以区分 正常入库、退货入库等不同的入库方式 产品出库:销售出库或者其他出库,可以自动生成出库单号,可以区分正常出库、赠品出库等不同的出库方式; 库存管理:不需要手工管理,当入库和出库时,系统自动生成每类产品的库 继续阅读 >>


周攀 16/12/12 23:41:16
最近,我见到了很多针对 ORM 的抨击,但是我觉得有些批评是莫须有的。我本人就是 SQLAlchemy 的忠实拥趸。在我的项目里很多地方都用到了 SQLAlchemy,我也为 SQLAlchemy 项目贡献了一些代码。这篇文章里,我会阐述你应当爱上 SQLAlchemy 的10个理由。说实话,除了 SQLAlchemy 以外还有很多优秀的 ORM,我所阐述的大部分理由同样适用于它们。但是 SQLAlchemy 是我的最爱。 1、用应用程序代码定义数据库模式 SQLAlchemy 允许你使用 Python 代码来定义数据库模式(schema)。下面是一个电子商务网站的例子,一个订单就代表一条记录。 class OrderItem(Base): id = Column(Integer, primary_key=True) order = many_to_one('Order') product = many_to_one('Product') quantity = Column(Integer) 定义数据库模式的 P 继续阅读 >>


周攀 16/12/10 12:22:50