ECB模式解读

一 什么是ECB模式 ECB模式全称是Electronic CodeBook模式,在ECB模式中,将明文分组加密之后的结果将直接成为密文分组。 使用ECB模式加密时,相同的明文分组会被转换为相同的密文分组,我们可以将其理解为是一个巨大的“明文分组->密文分组”的对应表...

2018-08-31 21:46:23

阅读数 1387

评论数 0

分组密码的模式

一 分组密码和流密码 分组密码:每次只能处理特定长度的一块数据的一类密码算法,这里的“一块”就称为分组。一个分组的比特数称为分组长度。 举例:DES和3DES的分组长度都是64bit。这些密码一次只能加密64bit的明文,并生成64bit的密文。 AES的分组长度时128bit,因此AES一...

2018-08-30 21:47:17

阅读数 206

评论数 0

Rijndael密码算法

一 什么是Rijndael Rijndael是由比利时密码学家设计的分组密码算法,于2000年被选为新一代的标准密码算法——AES。今后会有越来越多的密码软件支持这种算法。 Rijndael的分组长度和密钥长度可以分别以32比特为单位在128比特和256比特的范围内进行选择。不过在AES的规格...

2018-08-29 21:22:25

阅读数 1324

评论数 0

AES的选定过程

一 什么是AES AES(Advanced Encryption Standard)是取代前任(DES)而成为新标准的一种对称密码算法。全世界的企业和密码学家提交了多种对称密码算法作为AES的候选,最终在2000年从这些候选的算法中选出一种叫Rijndael的对称密码算法,并将其确定为AES。 ...

2018-08-29 19:26:43

阅读数 112

评论数 0

三重DES原理

一 什么是三重DES 三重DES是为了增加DES的强度,将DES重复3次所得到的一种密码算法,通常缩写为3DES。 二 三重DSE加密 明文经过三次DES处理才能变成最后的密文,由于DES密钥长度实质是56位,因此3DES的密钥长度就是56*3=168比特。 注意:三重DES的三次DE...

2018-08-29 19:05:55

阅读数 1805

评论数 0

DES密码的本质

一 什么是DES DES(Data  Encryption Standard)是1977年美国联邦信息处理标准中所采取的一种对称密码。DES一直以来被美国以及其他国家的政府和银行等广泛使用。 但在1999年的DES Challenge III中只用了22小时15分就解密了DES加密后密文。 ...

2018-08-29 18:45:22

阅读数 635

评论数 0

一次性密码本

一 什么是一次性密码本 只要通过暴力破解法对密钥空间进行遍历,无论是什么密文总有一天都能够被破译,然而,一次性密码本是个例外。即使用暴力破解法遍历整个密钥空间,一次性密码本也绝对无法被破解。 二 一次性密码本的加密 三 一次性密码本的解密 四 一次性密码本是无法破译的 我们假设对...

2018-08-28 21:44:05

阅读数 1611

评论数 0

比特序列的XOR

一 点睛 假设A=01001100 假设B=10101010 我们对A和B进行异或运算,得出的结果再和B进行异或运算。 运算过程如下: 经过两次运算,结果又变回了A。 这和加密和解密的步骤非常类似: 加密:将明文A用密钥B进行加密,得到密文A^B 解密:将密文A^B用密钥B...

2018-08-27 21:38:15

阅读数 755

评论数 0

Spring Boot配置SSL

一 点睛 SSL是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密。SSL协议位于TCP/IP协议和各种应用层协议之间,为数据通信提供安全支持。 SSL协议分为两层:SSL记录协议,它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基...

2018-08-26 17:34:49

阅读数 1131

评论数 0

Spring Boot替换默认容器Tomcat

一 点睛 Spring Boot默认使用Tomcat作为内嵌的Servlet容器,查看依赖关系如下: 通过修改pom.xml,修改依赖关系,即可容器替换。 二 替换为Jetty 1 修改代码 <dependency> &a...

2018-08-26 15:51:43

阅读数 2230

评论数 0

Spring Boot中以代码方式配置Tomcat

一 点睛 1 通用配置 通过代码的方式配置servlet,则可以注册一个实现EmbeddedServletContainerCustomizer接口的Bean。 2 特定配置  若想直接配置Tomcat、Jetty、Undertow,则可以直接定义TomcatEmbeddedServlet...

2018-08-26 15:29:25

阅读数 213

评论数 0

Spring Boot中以文件方式配置Tomcat

一 点睛 Tomcat属性配置文件在下D:\.m2\repos\org\springframework\boot\spring-boot-autoconfigure\1.3.7.RELEASE\spring-boot-autoconfigure-1.3.7.RELEASE-sources\org...

2018-08-26 15:09:28

阅读数 646

评论数 0

接管Spring Boot的Web配置

一 完全自定义 如果Spring Boot提供Spring MVC默认配置不符合我们的要求,则可以通过一个配置类加上@EnableWebMvc注解来实现完全由自己控制MVC的配置。这种方式不推荐。 二 通过继承方式自定义 一般情况下,并不采用完全自定义方式,Spring Boot的自动配置是...

2018-08-26 14:44:29

阅读数 98

评论数 0

Spring Boot提供的Web自动化配置

一 点睛 Spring Boot提供的Web自动化配置在WebMvcAutoConfiguration和WebMvcProperties的源码中,它的位置如下: 下面来解读这一块的源码。 二 WebMvcAutoConfiguration源码解读 package org.spring...

2018-08-26 14:15:14

阅读数 68

评论数 0

为什么要将密码算法和密钥分开

一 点睛 在密码系统中,经常会说:“密码算法是XX,密钥是YY。”也就是说,我们有意识的将密码算法和密钥分开。那么为什么要分开了。 我们先来分析一些密码系统的“密码算法”和“密钥”。 二 密码举例 1 凯撒密码 密码算法:将明文中的各个字母按照指定的字母数字平移。 密钥:平移的字母数量...

2018-08-26 11:30:27

阅读数 471

评论数 0

Enigma算法图解

一 什么是Enigma Enigma是德国人阿瑟.谢尔比乌斯于20世纪初发明的一种能够进行加密和解密操作的机器。Enigma这个名字在德语中是"谜"的意思。谢尔比乌斯使用能够转动的圆盘和电路,创造出人类手工无法实现的高强度密码。在刚刚发明之际,Enigma被用...

2018-08-26 10:34:01

阅读数 1125

评论数 0

简单替换密码图解

一 什么是简单替换密码 将字母表的26个字母,分别与这26个字母本身建立一对一的对应关系,那么无论哪一种对应关系就都可以作为密码来使用。这种将明文所使用的字母表替换为另一套字母表的密码称为简单替换密码。凯撒也可以说是简单替换密码的特例。 二 简单替换密码的密钥空间 简单替换密码的密钥总数:2...

2018-08-26 09:31:21

阅读数 2207

评论数 0

凯撒密码图解

一 什么是凯撒密码 二 凯撒密码的加密过程 用凯撒密码加密,密钥是3 三 凯撒密码的解密过程 用凯撒密码解密,密钥也是3 四 暴力破解凯撒密码 在凯撒密码中,密钥就是字母表平移的数字。由于字母表只有26个字母,因此加密用的密钥只有0到25共26种(平移0个字母实际相对于没有...

2018-08-26 08:56:28

阅读数 4151

评论数 0

Spring Boot Web实战

一 新建Spring Boot项目,加入spring-boot-starter-thymeleaf依赖 <dependency> <groupId>org.springframework.boot&...

2018-08-25 20:08:01

阅读数 56

评论数 0

Spring Boot对Thymeleaf的支持

一 点睛 Spring Boot通过org.springframework.boot.autoconfigure.thymeleaf包对Thymeleaf进行自动配置,相关代码如下图所示: 通过ThymeleafAutoConfiguration类对集成所需要的Bean进行自动配置,包括T...

2018-08-25 19:43:29

阅读数 336

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭