- 博客(27)
- 收藏
- 关注
原创 初始ES(分布式搜索技术)
es是一款开源的搜索引擎,帮助我们从海量数据中快速找到所需要的内容结合kibana,logstash,beats为ELK,应用在日志分析,实时监控等领域es的底层是Lucene,apache的一个类库易扩展高性能(倒排)只限于java不容易水平扩展不支持集群。
2023-07-10 23:05:32 86
原创 《图解密码学》第八章之消息认证码
《图解密码学》第八章之消息认证码一、什么是消息认证码使用消息认证码可以确认自己收到的消息是否是发送者的本意,使用消息认证码可以判断消息是否被篡改,以及是否有人伪装成发送者发送了消息。消息认证码是一种确认完整性并进行认证的技术。简称为MAC。消息认证码的输入包括任意长度的消息和一个发送者与接收者之间的共享密钥,他可以传输固定长度的数据,这个数据称为MAC值。二、单向散列函数与消息认证码的比较三、消息认证码的使用步骤可以使用公钥密码来对密钥进行配送。四、消息认证码的实例1、SWIFT(环
2021-09-11 14:53:51 705
原创 《图解密码学》第六章之混合密码系统
《图解密码学》第六章之混合密码系统一、对称密码存在的问题使用对称密码能够保证机密性,但是却存在着密钥不方便配送的问题。二、公钥密码存在的问题公钥密码的处理速度远远低于对称密码;公钥密码难以抵挡中间人的攻击。三、混合密码系统混合密码系统是将对称密码和公钥密码的优势相结合的方法。用对称密码对消息进行加密,用公钥密码对秘钥进行加密(由于对称密码的秘钥比消息本身要短很多,因此可以忽略公钥密码速度慢的问题)。四、混合密码系统的组成机制(对称密码,伪随机数生成器,公钥密码)用对称密码加密消息通
2021-09-10 17:03:56 492
原创 《图解密码学》第五章之公钥密码
《图解密码学》第五章之公钥密码一、秘钥配送问题在之前的对称密码中,解密和加密都用的是同一个密钥,但是对于这个密钥如何安全的告诉接收者,这是一个比较严重的问题。所上图所示,窃听者能够窃听到密文和密钥,自然就能够获取明文了。二、解决密钥配送的问题通过事先共享密钥来解决缺点:有一定的局限性,如果参与加密通信的人比较多,则密钥数量会比较大。通过密钥分配中心来解决缺点:随着人数的增加,密钥中心的负荷会比较大,如果密钥分配中心发生故障,加密通信会失败。通过Diffie-Hellman密钥
2021-09-09 21:26:15 952
原创 《图解密码学》第二章
《图解密码学》第二章一、历史上的密码1、凯撒密码凯撒密码诞生于古罗马,凯撒密码是通过将明文中所使用的字母表按一定的字数平移来进行加密的。凯撒密码加解密如下所示:对yoshko进行凯撒密码加密后得到密文为:BRVKLNR用凯撒密码进行解密:2、简单替换密码将明文中所使用的字母表替换为另外一套字母表的密码称为简单替换,凯撒密码也属于其中的一种。3、EnigmaEnigma是一种由键盘、齿轮、电池和灯泡所组成的机器,通过这台机器就能够完成加密和解密。二、破译密码的方法1、暴力破解
2021-09-08 23:02:42 218
原创 《图解密码学》第四章
《图解密码学》第四章分组密码1、前置知识DES和AES都属于分组密码,但是他们只能加密固定长度的明文,如果需要加密任意长度的明文,就需要对分组密码进行迭代,而分组密码的迭代方法就称为分组密码的模式。2、分组密码的主要模式ECB(电子密码本模式)、CBC(密码分组链接模式)、CFB(密文反馈模式)、OFB(输出反馈模式)、CTR(计数器模式)3、分组密码分组密码是每次只能处理特定长度的一块数据的一类密码算法。一个分组的比特数称为分组长度。DES、3DES的分组长度都是64比特,这些算法一次只能加
2021-09-08 10:33:12 284
原创 《图解密码学》第三章
《图解密码学》第三章一、从文字密码到比特序列密码1、前置知识当今密码都试建立在计算机的基础之上的,计算机的操作对象并不是文字,而是由0和1排列而成的比特序列。无论是文字、图像、声音、视频还是程序,在计算机中都是用比特来进行表示的。2、编码将现实世界中的东西映射为比特序列的操作称为编码。例如将midnight进行ASCII编码:3、XOR(异或)XOR的运算规则如下:比特序列的XOR运算如下:从上图可以看出明文A用密钥B进行加密,得到了密文A+B,将密文A+B用B进行异或运算后得到明文
2021-09-07 15:59:13 697
原创 《图解密码学》第一章
《图解密码学》一、图解名词(发送者、接收者,窃听者)窃听者Eve并不一定是人,可能是窃听器之类的。二、加密与解密1、图解加密2、图解解密3、密码保证了信息传递的机密性4、解密和破译正当的接收者将密文还原为明文称为解密;但接收者以外的其他人试图将密文还原为明文的,则称为密码破译(有时也称为密码分析)。三、对称密码与公钥密码1、图解加解密与密钥2、图解对称密钥与非对称密钥3、混合密码系统将对称密码与非对称密码结合起来的方式称为混合密码系统。4、其他密码技术4.1、单项散
2021-09-03 23:28:27 295
原创 自定义类加载器的实现
实现方式:所有用户自定义类加载器都应该继承ClassLoader类自定义ClassLoader的子类时,通常有两种实现方式:1)、重写loadClass方法(是实现双亲委派逻辑的地方,修改他会破坏双亲委派机制,不推荐)2)、重写findClass方法 (推荐)import java.io.*;public class MyClassLoader extends ClassLoader{private String codePath;public MyClassLoader(ClassLoade
2021-03-28 19:43:10 194
转载 Spring
https://blog.csdn.net/weixin_44207403/article/details/106736102?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159788243419195239714349%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159788243419195239714349&biz_i
2020-08-20 19:58:17 145
原创 mabatis单表查询实例
1.pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org
2020-05-14 15:40:26 183
原创 mybatis配置文件解读
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <!--配置环境--> <environments default="
2020-05-11 16:41:07 289 1
原创 java基础——抽象(abstract)
1.抽象类=类+抽象方法。1.1.抽象类概念:在程序设计中,有时一个类我们并不需要使用其对象,这样的类,我们会定义成抽象类。1.2.抽象类的命名规范:规范上抽象类命名使用 Abstract 或 Base 开头。1.3.抽象类既可以定义抽象方法也可以和其他类一样定义普通方法.。1.4.抽象类的使用:1.4.1.抽象类不能被实例化,不能创建对象,只能由其非抽象类的子类去实例化。1.5.抽象...
2019-12-14 13:03:30 332
原创 Java基础——数组
1.定义:结构 :数据类型[ ] 数组名2.使用:2.1.存:设置数组中的值2.2.取:eg:package cn.yhy;public class ArrayTest { public static void main(String[] args) { //数组定义 // int[] array=new int[3]; int[...
2019-12-14 11:32:27 149
原创 Java基础————接口(Interface)
1.定义:1.1.接口不是类。1.2.接口名一般都写成表示一种功能。在实际的开发中,往往用于表示某些业务逻辑,比如针对用户操作,有添加用户,修改用户,删除用户等,所以都需要定义相应的接口。1.3.接口中常定义抽象方法,且可以省略public abstract2.使用:2.1.接口不是类,不能创建对象。2.2.需要结合类使用,创建类实现接口,重写抽象方法。2.3.一个类可以实现多个接...
2019-12-14 11:31:35 630
原创 Java基础——多态(polymorphic)
1.定义:多态是同一个行为具有多个不同表现形式或形态的能力,同样的方法在不同的对象上产生不同的效果。2.多态的三个必要条件:2.1.继承2.2.重写2.3.父类引用指向子类对象(向上转型)。eg:...
2019-12-06 22:13:44 269
原创 java————变量的生存期(作用域,生存期)
1.分类:1.1 局部变量(local):只能在定义该属性的代码块中使用(方法或语句中)。1.2 全局变量(property):在所有非static方法中都可用。注意:局部变量与全局变量一般不重名。1.3.静态变量:静态变量只能定义全局变量,静态变量属于类。注意:static存储在内存中的静态存储区(非堆栈,对象在堆栈中),静态变量可以在普通方法中使用。2.静态代码块:当类加载时,代码...
2019-12-05 21:40:52 844
原创 java基础--------继承--构造方法
继承----针对类,把类当成一个整体.Java中的继承相似于复制.父类:superclass 超类子类:subclass 派生类eg:父类:Animal子类:食草Animal ;食肉Animalpackage cn03.cn;public class Animal { private String name; private String type; public vo...
2019-11-30 16:37:32 225
原创 java基础————方法--static
程序执行都是方法的调用,从main方法开始。//访问修饰符 返回值类型 方法名(参数){ // 方法体//}任何修饰符都可以修饰方法。方法之间可以相互调用。返回值 类型 void代表无返回值,即将来调用此方法没有结果。对于需要有结果的,不能用void ,具体返回值看情况(基本数据类型,引用类型),需要使用return关键字。...
2019-11-30 14:44:33 160
原创 Java基础——封装
属性都用private修饰。对于需要外部访问类中的属性,提供了set(),get()方法。boolean 的get方法的方法名叫做isXXX。eg:package y.cn;/** * 员工类 * @author 22562 * */public class Employee { //关于员工的信息 // 属性 ——变量 private int emp_...
2019-11-30 09:16:37 174
原创 Java基础——四种权限
public:最广泛 ,对所有类可见。 修饰:类,方法,接口,属性。protected:受保护的。 在同一包内可见,所有子类可见。修饰:属性,方法,不能修饰类。默认:在同一包内可见。 修饰:类,属性,方法,接口。private:私有的。同一类中可见。修饰:属性,方法。其目的是为了安全。常用的是public ,private。...
2019-11-30 09:14:27 200
原创 Java基础————面向对象01
Java 是面向对象的语言,万物皆对象。OOP 思想(管理)C语言: 面向过程Java: 面向对象类(class):表征一系列对象的信息,类包含属性(attrubute, property)与方法(method)。eg:/** * 员工类 * @author 22562 * */public class Employee { //关于员工的信息 // 属...
2019-11-29 20:44:58 133
原创 Java基础之static及代码块分类
static (最经常用于定义工具类)1:用来定义类的成员变量(类变量),1:类变量需要被static修饰,实例变量不需要。 2:作用域不同,类变量的作用域更大3:直接属于类,所有的类成员在内存中只存在一份,存放在常量池中(而实例变量存在多份,存在堆内存中)4:由于其直属于类,所以可以通过类名直接调用。2:用来定义类方法类方法也叫做静态方法,只需要在实例方法上加上static...
2019-11-11 20:13:57 203
原创 Java基础之方法重载
方法重载时发生在同一个类之中。方法重载:方法名一样。方法重载只与方法后面的参数个数,参数顺序,参数类型有关。而与方法名前面的访问修饰符,是否有返回值无关。方法重载是多态的一种具体体现。方法重载主要是为了减少多个方法的重写,方便后期根据传入参数的类型,个数,顺序直接调用。public class Method2 { public void method() { } // 参数个...
2019-11-10 17:06:36 186
原创 java基础之实例方法
实例方法的分类:无参,无返回有参,无返回无参,有返回有参,有返回有返回值的方法可以直接在main方法中进行输出public class Method { /** * 无参无返回 */ public void method() { System.out.println("无参无返回的方法"); } /** * 无参有返回的方法,返回1~100随机整数 */...
2019-11-10 16:51:42 287
原创 java基础之访问修饰符,方法
在java中万物皆对象。在认识对象时,先学习什么是类。类是一群具有相同行为,与相同属性的对象的抽象化。(如:人类,车,猫…)。在每一个类中,都有其属于自己的属性与行为。在Java中我们把属性叫做变量,而把行为叫做方法。我们通常把变量划分为:1:成员变量(实例变量):直接声明在类中,而且有初始值,作用域为类中所有实例代码块2:类变量(静态变量):用关键字static进行修饰。 3:局部变...
2019-11-10 16:38:27 324
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人