草庐IT

密码学奇妙之旅、01 CFB密文反馈模式、AES标准、Golang代码

CFB密文反馈模式CFB密文反馈模式属于分组密码模式中的一种。加密步骤生成用于异或的密钥流。其弥补了ECB电子密码本模式的不足(明文中的重复排列会反映在密文中,通过删除替换分组可以对明文进行操作)其优点是不需要填充。因为从明文分组到密文分组只需要一次XOR,使用的是前一次密文分组经过加密算法生成的密钥流。解密支持并行。在已知全部密文分组的情况下,可以对每一部分分组开启多线程进行解密。能够解密任意密文分组。任意密文分组只与前一个密文分组有关。其缺点是:加密不支持并行。任意密文分组只与前一个密文分组有关,所以必须按照一定顺序从头到尾加密。当密文分组某个比特出错时,影响当前明文分组的一个比特位和下一

密码学奇妙之旅、01 CFB密文反馈模式、AES标准、Golang代码

CFB密文反馈模式CFB密文反馈模式属于分组密码模式中的一种。加密步骤生成用于异或的密钥流。其弥补了ECB电子密码本模式的不足(明文中的重复排列会反映在密文中,通过删除替换分组可以对明文进行操作)其优点是不需要填充。因为从明文分组到密文分组只需要一次XOR,使用的是前一次密文分组经过加密算法生成的密钥流。解密支持并行。在已知全部密文分组的情况下,可以对每一部分分组开启多线程进行解密。能够解密任意密文分组。任意密文分组只与前一个密文分组有关。其缺点是:加密不支持并行。任意密文分组只与前一个密文分组有关,所以必须按照一定顺序从头到尾加密。当密文分组某个比特出错时,影响当前明文分组的一个比特位和下一

密码学奇妙之旅、02 混合加密系统、AES、RSA标准、Golang代码

CTR计数器模式计数器模式CTR是分组密码模式中的一种。通过将逐次累加的计数器进行加密来生成密钥流的流密码。每次加密时会生成一个不同的值来作为计数器的初始值。可以事先进行加密、解密的准备。加密、解密使用相同结构。对包含某些错误比特的密文进行解密时,只有明文中响应的比特会出错。加密和解密均支持并行运算。可以以任意顺序对分组进行加密和解密。在CTR模式基础上添加认证功能的模式称为GCM模式。生成密文的同时生成用于认证的信息。用于识别主动攻击者发送的伪造的密文。混合密码系统混合密码系统能够解决对称密码密钥分配的问题和公钥密码速度慢的问题。使用快速的对称密码来对消息进行加密,再使用公钥密码对对称密码的

密码学奇妙之旅、02 混合加密系统、AES、RSA标准、Golang代码

CTR计数器模式计数器模式CTR是分组密码模式中的一种。通过将逐次累加的计数器进行加密来生成密钥流的流密码。每次加密时会生成一个不同的值来作为计数器的初始值。可以事先进行加密、解密的准备。加密、解密使用相同结构。对包含某些错误比特的密文进行解密时,只有明文中响应的比特会出错。加密和解密均支持并行运算。可以以任意顺序对分组进行加密和解密。在CTR模式基础上添加认证功能的模式称为GCM模式。生成密文的同时生成用于认证的信息。用于识别主动攻击者发送的伪造的密文。混合密码系统混合密码系统能够解决对称密码密钥分配的问题和公钥密码速度慢的问题。使用快速的对称密码来对消息进行加密,再使用公钥密码对对称密码的

Jmeter使用beanshell对接口加密,调用AES代码的jar包,CBC模式,有偏移量。

工作中需要对接口进行AES加密,找开发要来了加密的代码(如下),记录下具体的使用方法:在IDEA中新建一个AES1模块,在里面新建一个类(类的名字为AESu1)。把下面的代码复制进去,这样,AES加密的方法就构建好了。接下来就是导出为jar包了。文件-项目结构-工件-点击+号,3.1点击构建-构建工件3.2再选中AES1.jar,点击构建,jar就创建好了把生成的jar包,放到jmeter的lib路径下(有的文章说需要放到lib的ext路径下),不过我是放到lib就已经可以使用了。在jmeter中,需要把jar包的路径,放到测试计划中。在beanshell中importAES1.*;填入代码即

Jmeter使用beanshell对接口加密,调用AES代码的jar包,CBC模式,有偏移量。

工作中需要对接口进行AES加密,找开发要来了加密的代码(如下),记录下具体的使用方法:在IDEA中新建一个AES1模块,在里面新建一个类(类的名字为AESu1)。把下面的代码复制进去,这样,AES加密的方法就构建好了。接下来就是导出为jar包了。文件-项目结构-工件-点击+号,3.1点击构建-构建工件3.2再选中AES1.jar,点击构建,jar就创建好了把生成的jar包,放到jmeter的lib路径下(有的文章说需要放到lib的ext路径下),不过我是放到lib就已经可以使用了。在jmeter中,需要把jar包的路径,放到测试计划中。在beanshell中importAES1.*;填入代码即

设计模式之解释器模式

解释器模式字面意思,也即解释某些内容的含义。这种设计模式是实际开发中最不容易用到的。比如SQL解析,符号处理引擎,会用到解释器模式,属于更底层的开发人员才会用到的设计模式。本文就以解释器模式的概念、角色和简单的例子说明解释器模式,读者对这部分内容了解即可。一、概念解释器模式是指给定一门语言,定义它的文法的一种表示(如:加减乘除表达式和正则表达式等),然后再定义一个解释器,该解释器用来解释我们的文法表示(表达式)。解释器模式的结构与组合模式相似,不过其包含的组成元素比组合模式多,而且组合模式是对象结构型模式,而解释器模式是类行为型模式。解释器模式中包含四个角色:抽象解释器(AbstractExp

设计模式之解释器模式

解释器模式字面意思,也即解释某些内容的含义。这种设计模式是实际开发中最不容易用到的。比如SQL解析,符号处理引擎,会用到解释器模式,属于更底层的开发人员才会用到的设计模式。本文就以解释器模式的概念、角色和简单的例子说明解释器模式,读者对这部分内容了解即可。一、概念解释器模式是指给定一门语言,定义它的文法的一种表示(如:加减乘除表达式和正则表达式等),然后再定义一个解释器,该解释器用来解释我们的文法表示(表达式)。解释器模式的结构与组合模式相似,不过其包含的组成元素比组合模式多,而且组合模式是对象结构型模式,而解释器模式是类行为型模式。解释器模式中包含四个角色:抽象解释器(AbstractExp

设计模式之迭代器模式

本文介绍设计模式中的迭代器模式,首先通俗的解释迭代器模式的基本概念和对应的四个角色,并根据四个角色举一个典型的实例,为了加强知识的连贯性,我们以Jdk源码集合中使用迭代器模式的应用进一步说明,最后说明迭代器模式的应用场景和优缺点。读者可以拉取完整代码本地学习,实现代码均测试通过上传到码云一、概念理解迭代器模式官方解释就是提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。何为聚合对象呢?最典型的就是集合类。大白话也就是,集合中的数据是私有的,集合中不应该提供直接遍历的方法,要定义一个新的对象用于访问这个集合。既然是一个专门用来遍历的对象,一个被遍历的聚合对象,很显然至少有

设计模式之迭代器模式

本文介绍设计模式中的迭代器模式,首先通俗的解释迭代器模式的基本概念和对应的四个角色,并根据四个角色举一个典型的实例,为了加强知识的连贯性,我们以Jdk源码集合中使用迭代器模式的应用进一步说明,最后说明迭代器模式的应用场景和优缺点。读者可以拉取完整代码本地学习,实现代码均测试通过上传到码云一、概念理解迭代器模式官方解释就是提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。何为聚合对象呢?最典型的就是集合类。大白话也就是,集合中的数据是私有的,集合中不应该提供直接遍历的方法,要定义一个新的对象用于访问这个集合。既然是一个专门用来遍历的对象,一个被遍历的聚合对象,很显然至少有