解释对称加密、非对称加密、哈希摘要

简介: 对称加密使用同一密钥加解密,速度快但需妥善保管密钥;非对称加密分公钥和私钥,公钥加密、私钥解密,安全性高但速度较慢,适合双向通信;哈希摘要提取数据特征,用于完整性校验,不同数据摘要不同。
  • 对称加密
  • 加密和解密的密钥使用同一个
  • 因为密钥只有一个,所以密钥需要妥善保管
  • 加解密速度快
  • 非对称加密
  • 密钥分成公钥、私钥,其中公钥用来加密、私钥用来解密
  • 只需将私钥妥善保管,公钥可以对外公开
  • 如果是双向通信保证传输数据安全,需要双方各产生一对密钥
  • A 把 A公钥 给 B,B 把 B公钥 给 A,他们各自持有自己的私钥和对方的公钥
  • A 要发消息给 B,用 B公钥 加密数据后传输,B 收到后用 B私钥 解密数据
  • 类似的 B 要发消息给 A,用 A公钥 加密数据后传输,A 收到后用 A私钥 解密数据
  • 相对对称加密、加解密速度慢
  • 哈希摘要,摘要就是将原始数据的特征提取出来,它能够代表原始数据,可以用作数据的完整性校验
  • 举个例子,张三对应着完整数据
  • 描述张三时,会用它的特征来描述:他名叫张三、男性、30多岁、秃顶、从事 java 开发、年薪百万,这些特征就对应着哈希摘要,以后拿到这段描述,就知道是在说张三这个人
  • 为什么说摘要能区分不同数据呢,看这段描述:还是名叫张三、男性、30多岁、秃顶、从事 java 开发、月薪八千,有一个特征不符吧,这时可以断定,此张三非彼张三
相关文章
|
2天前
|
消息中间件 Cloud Native Java
SpringCloud概述
Spring Cloud是Spring推出的微服务一站式解决方案,弥补了分散技术栈的整合难题。它具备约定大于配置、组件丰富、开箱即用等特点,完美支持云原生架构。版本以伦敦地铁站命名,如Hoxton.SR12,避免与子项目版本冲突,便于统一管理。
SpringCloud概述
|
2天前
|
Java 调度
Java线程池实现架构
Java中线程池相关类主要包括Executor、ExecutorService、ScheduledExecutorService及其具体实现ThreadPoolExecutor和ScheduledThreadPoolExecutor。Executors为工厂类,用于创建不同类型的线程池。Executor是顶层接口,仅支持执行无返回值任务;ExecutorService扩展其功能,支持有返回值任务及线程管理;ScheduledExecutorService进一步增加定时调度能力。
|
2天前
|
安全 Java 索引
说说 java 中常见的集合类
本文介绍了Java集合框架的核心接口(Collection、List、Set、Map)及其常见实现类。图示展示了类间关系,重点解析ArrayList、LinkedList、HashSet、HashMap等实现原理与性能特点,并指出线程安全及进阶特性,助你掌握集合体系关键知识点。
|
2天前
|
Java 大数据
ArrayList扩容机制
本文深入分析了Java中ArrayList的add及扩容机制。通过源码解析,详解ensureCapacityInternal、ensureExplicitCapacity和grow方法的工作流程,揭示其首次扩容默认至10,之后每次扩容为原容量1.5倍的核心逻辑,并区分length、length()与size()的用法差异。
|
2天前
|
存储 Java
Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译后会进行类型擦除,仅保留原始类型。例如,List<String>和List<Integer>在运行时均变为List,泛型信息不复存在。通过反射可向声明为Integer的列表添加字符串,证明泛型类型被擦除,JVM无法感知其原始泛型约束。
什么是泛型擦除后保留的原始类型
原始类型是泛型擦除后在字节码中的实际类型。若无限定,泛型变量默认替换为Object;若有上界限定(如T extends Comparable),则替换为该限定类型,例如Comparable。
|
2天前
|
存储 Java 编译器
泛型擦除引起的问题及解决方法
本文深入解析Java泛型机制,涵盖类型擦除、编译时检查、引用传递、自动类型转换及与多态的冲突。重点说明泛型类型检查针对引用而非对象,静态成员不能使用类的泛型参数,且泛型不支持基本数据类型。同时探讨了泛型在继承中的桥方法实现与instanceof限制。
|
2天前
|
Java 调度
线程池初探
线程池通过复用线程提升性能,避免频繁创建销毁的开销。它统一管理线程,支持任务提交、周期执行与调度,使用简单且高效,是多线程编程的重要工具。
|
2天前
|
缓存 算法 固态存储
先把磁盘文件拷贝到 PageCache 上,再拷贝到进程中
PageCache通过缓存磁盘数据到内存,提升读取性能,并支持预读和合并IO。但传输大文件时易占满缓存,影响小文件性能,此时应使用异步IO+直接IO,避免额外拷贝与缓存污染,尤其适用于高并发场景。
|
2天前
|
监控 算法 Unix
Thread.sleep(0) 到底有什么用(读完就懂)
本文深入解析Thread.Sleep函数的原理与应用。通过生动的“分蛋糕”比喻,对比Unix时间片与Windows抢占式调度机制,阐明Sleep(1000)不保证精确唤醒、Sleep(0)实为触发CPU重新竞争等核心概念,揭示多线程调度的本质。