分组密码与模式

什么是分组密码和模式 前面我们讲过了DES和AES算法,他们每次都只能加密固定长度的明文,这样的密码算法叫做分组密码。 如果需要加密更长的明文则需要对分组密码进行迭代。而分组密码的迭代方法就称为分组密码的模式。 本文我们会讲如下几种模式: ECB模式:电子密码本模式 CBC模式: 密码分组链接模式 CFB模式: 密文反馈模式 OFB模式: 输出反馈模式 CTR模式: 计数器模式 ECB模式 ECB…

AES算法

AES的由来 前面一篇文章我们讲到了DES算法。鉴于DES可以被破解和加密效率不高的缺陷。美国的NIST(National Institute of Standards and Technology,国家标准技术研究所)在2000年通过选拔,从多个候选算法中确认了Rijndael算法为最新的AES算法,成为联邦信息处理标准(FIPS)。 什么是Rijndael Rijndael是由比利时密码学家J…

DES算法

什么是DES DES全称叫(Data Encryption Standard), 是1977年美国联邦信息处理标准(FIPS)中所采用的一种对称加密算法。 DES之前一直使用很普遍,但是随着计算机的进步,现在DES已经可以被暴力破解了,处理历史的原因外,我们不再建议使用DES算法。 DES的加密解密 DES的密钥长度是64比特,也就是8个字节。但是DES每隔7 比特会设置一个错误校验位,所以真正的…

Spring5参考指南:AspectJ高级编程之Configurable

遇到的问题 前面的文章我们讲到了在Spring中使用Aspect。但是Aspect的都是Spring管理的Bean。 现在有一个问题,实际工作中,我们经常会想new一个Bean,然后在这个Bean中注入Spring管理的其他Bean。但是new出来的bean已经脱离Spring的管控了。 该怎么处理呢? @Configurable Spring提供了一个@Configurable的注解,可以实现这…

Spring5参考指南:AOP代理

AOP代理 通常来说Spring AOP有两种代理方式,一种默认的JDK代理,只能代理接口,一种是CGLIB代理,可以代理具体的类对象。 SpringAOP默认为对AOP代理使用标准的JDK动态代理。如果业务对象不实现接口,则使用CGLIB。 如果使用CGLIB,要注意对于CGLIB,不能advice final方法,因为它们不能在运行时生成的子类中被重写。 由于Spring的AOP框架基于代理的…

Spring5参考指南:基于Schema的AOP

基于Schema的AOP 上篇文章我们讲到了使用注解的形式来使用Spring AOP。本文我们介绍如何使用XML Schema的形式使用Spring AOP。 要想使用本文的AOP命名空间标记,需要导入xmlns:aop=”http://www.springframework.org/schema/aop”。 在Spring配置中,所有Aspect和Advisor元素都必须…

Spring5参考指南:AspectJ注解

什么是AspectJ注解 想要在Spring中使用AOP,和通用的Spring Bean一样有两种方式,一种就是注解,一种就是XML配置,本文主要讲解如何通过注解开启Spring AOP。 @AspectJ是一种将aspects声明为用注解来注解Java类的样式。@Aspectj样式是作为Aspectj 5版本的一部分由Aspectj项目引入的。Spring使用和AspectJ相同的注解,它使用了…

Spring5参考指南:SpringAOP简介

写过程序的都知道OOP即面向对象编程。 从最开始的面向过程编程,到后面的面向对象编程,程序的编写方式发生了重大的变化,面向对象编程将业务逻辑封装成一个一个的对象,所有的操作都转换为对对象的操作。 面向对象编程现在使用的非常普遍,一般来说只要是高级语言都支持,但是它也有缺点,比如如果我们想做一些横跨对象的操作(如统计各个对象里面某个方法的执行时间),这时候面向对象可以能力有不逮。我们可能需要在每个对…