草庐IT

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

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

01-进制之间的转换

进制之间的转换1.1计算机硬件的基本认知cpu:中央处理器.相当于人的大脑.运算中心,控制中心.内存:临时存储数据.优点:读取速度快。缺点:容量小,造价高,断电即消失.硬盘:长期存储数据.优点:容量大,造价相对低,断电不消失。缺点:读取速度慢.操作系统:统一管理计算机软硬件资源的程序1.2计算机文件大小单位b=bit位(比特)B=Byte字节1Byte=8bit#一个字节等于8位可以简写成1B=8b1KB=1024B1MB=1024KB1GB=1024MB1TB=1024GB1PB=1024TB1EB=1024PB1.3进制之间的转换二进制:由2个数字组成,有0和1 例:0b101八进制:

01-进制之间的转换

进制之间的转换1.1计算机硬件的基本认知cpu:中央处理器.相当于人的大脑.运算中心,控制中心.内存:临时存储数据.优点:读取速度快。缺点:容量小,造价高,断电即消失.硬盘:长期存储数据.优点:容量大,造价相对低,断电不消失。缺点:读取速度慢.操作系统:统一管理计算机软硬件资源的程序1.2计算机文件大小单位b=bit位(比特)B=Byte字节1Byte=8bit#一个字节等于8位可以简写成1B=8b1KB=1024B1MB=1024KB1GB=1024MB1TB=1024GB1PB=1024TB1EB=1024PB1.3进制之间的转换二进制:由2个数字组成,有0和1 例:0b101八进制:

day01-SpringBoot基本介绍

SpringBoot基本介绍1.SpringBoot是什么?官网地址:https://spring.io/projects/spring-boot学习文档:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/reference在线API:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/api/SpringBoot可以轻松创建独立的,生产级的,基于Spring的应用程序SpringBoot直接嵌入Tomcat,Jetty或Undertow,可以“直接运行”SpringBoo

day01-SpringBoot基本介绍

SpringBoot基本介绍1.SpringBoot是什么?官网地址:https://spring.io/projects/spring-boot学习文档:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/reference在线API:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/api/SpringBoot可以轻松创建独立的,生产级的,基于Spring的应用程序SpringBoot直接嵌入Tomcat,Jetty或Undertow,可以“直接运行”SpringBoo

读Java性能权威指南(第2版)笔记15_垃圾回收B

1. GC触发条件1.1. 当新生代满的时候1.1.1. MinorGC会被触发1.2. 当老年代满的时候1.2.1. FullGC会被触发1.3. 当堆快要填满时1.3.1. 并发GC(如果适用)会被触发2. 强制开启GC2.1. System.gc()方法2.1.1. 总是会触发FullGC(即使JVM运行的是G1GC或者CMS)2.1.2. 并不会让应用程序更高效2.1.2.1. 只是让GC比其他情况更早开启,也只是将性能的影响延迟了2.1.3. 调用这个方法从来都不是好主意2.2. 例外2.2.1. 在做性能监控或基准测试时2.2.1.1. 对于运行少量代码的小型基准测试,为了加快预热

读Java性能权威指南(第2版)笔记15_垃圾回收B

1. GC触发条件1.1. 当新生代满的时候1.1.1. MinorGC会被触发1.2. 当老年代满的时候1.2.1. FullGC会被触发1.3. 当堆快要填满时1.3.1. 并发GC(如果适用)会被触发2. 强制开启GC2.1. System.gc()方法2.1.1. 总是会触发FullGC(即使JVM运行的是G1GC或者CMS)2.1.2. 并不会让应用程序更高效2.1.2.1. 只是让GC比其他情况更早开启,也只是将性能的影响延迟了2.1.3. 调用这个方法从来都不是好主意2.2. 例外2.2.1. 在做性能监控或基准测试时2.2.1.1. 对于运行少量代码的小型基准测试,为了加快预热

day01-2-依赖管理和自动配置

依赖管理和自动配置1.依赖管理1.1什么是依赖管理spring-boot-starter-parent中还有父项目,声明了开发中常用的依赖的版本号并且进行自动版本仲裁,即如果程序员没有指定某个依赖jar的版本,则以父版本指定的版本为准1.2修改自动仲裁/默认版本号比如我们要将SpringBoot的mysql驱动版本改为5.1.49(默认版本为8.0.26),有两种方法:(1)方式一:在pom.xml文件中显式的导入mysql依赖,并指定versionmysqlmysql-connector-java5.1.49(2)方式二:在pom.xml文件的节点中指定mysql的key,形如:5.1.49

day01-2-依赖管理和自动配置

依赖管理和自动配置1.依赖管理1.1什么是依赖管理spring-boot-starter-parent中还有父项目,声明了开发中常用的依赖的版本号并且进行自动版本仲裁,即如果程序员没有指定某个依赖jar的版本,则以父版本指定的版本为准1.2修改自动仲裁/默认版本号比如我们要将SpringBoot的mysql驱动版本改为5.1.49(默认版本为8.0.26),有两种方法:(1)方式一:在pom.xml文件中显式的导入mysql依赖,并指定versionmysqlmysql-connector-java5.1.49(2)方式二:在pom.xml文件的节点中指定mysql的key,形如:5.1.49

SQL201 查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t

查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t知识点where和having用法:1、where、聚合函数、having在from后面的执行顺序:where>聚合函数(sum,min,max,avg,count)>having2、若引入聚合函数来对groupby结果进行过滤,则只能用having3、having语句通常与groupby语句联合使用,用来过滤由groupby语句返回的记录集。4、having语句的存在弥补了where关键字不能与聚合函数联合使用的不足5、where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能