加密算法学习笔记

server/2024/12/27 7:57:29/

可逆与不可逆

  • 可逆

对称加密与非对称加密

  • 不可逆

解释:一旦加密就不能反向解密得到密码原文
种类: Hash散列算法, 散列算法, 摘要算法等(哈希算法又称散列算法)
用途:一般用于效验下载文件正确性,一般在网站上下载文件都能见到;存储用户敏感信息,如密码、 卡号等不可解密的信息。
常见的不可逆加密算法:
1.md5(Message Digest Algorithm MD5) 消息摘要算法5
2.SHA-1
3.HMAC
4.HMAC-MD5
5.HMAC-SHA1
采用PBKDF2、bcrypt、scrypt、Argon2等算法可以有效抵御彩虹表攻击。
Argon2>Scrypt>BCrypt>PBKDF2

对称加密与非对称加密

对称加密 算法主要有 AES、DES、3DES 等
非对称算法 主要有 RSA、DSA 等
散列算法 主要有 MD5、SHA-1 等

对称加密(AES)

发送和接收双方都使用相同密钥对数据进行加密和解密
对称加密

非对称加密(RSA)

对称加密
如果使用 公钥 对数据 进行加密,只有用对应的 私钥 才能 进行解密。
如果使用 私钥 对数据 进行加密,只有用对应的 公钥 才能 进行解密。

常用不可逆算法

md5

应用场景:1、一致性验证 2、数字签名 3、安全访问认证

SHA-1

常用对称加密算法

AES

  • 密钥管理:确保密钥的安全存储,不泄露密钥。
  • 初始化向量(IV):在 CBC 模式中,IV 需要是随机的,且每次加密时都应该不同。
  • 填充(Padding):由于 AES 是基于块的加密,明文长度必须是块大小的倍数,因此需要进行填充。

DES

  • 安全性:由于 DES 的密钥长度较短,容易受到暴力破解攻击,因此建议使用更安全的加密算法,如 AES。
  • 填充模式:因为 DES 处理的是固定大小的数据块(64位),所以当输入不是64位的倍数时,需要使用填充模式(如 PKCS7)来确保数据长度符合要求。
  • 工作模式:上述示例使用了 ECB 模式,这是最简单的模式,但对于大多数应用来说并不安全。推荐使用 CBC、CFB 或 GCM 等更安全的工作模式。

常用非对称加密算法

RSA

RSA加密后,每次都不同
RSA加密、解密、签名、验签
总结:公钥加密、私钥解密、私钥签名、公钥验签。

Base64编码

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。
Base64编码可用于在HTTP环境下传递较长的标识信息。
采用Base64Base64编码解码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
注意:Base64只是一种编码方式,不算加密方法。

提问

  1. hash算法是加密算法吗?
    我觉得不算,hash 是不可逆的,加密应该是可以根据加密后的数据还原的
  2. base64算法是加密算法吗?
    是对称加密,对称秘钥就是 base 64 字符码表

http://www.ppmy.cn/server/147601.html

相关文章

开发手札:Win+Mac下工程多开联调

最近完成一个Windows/Android/IOS三端多人网络协同项目V1.0版本,进入测试流程了。为了方便自测,需要用unity将一个工程打开多次,分别是Win/IOS/Android版本,进行多角色联调。 在Win开发机上,以Windows版本为主版…

华为NPU服务器昇腾Ascend 910B2部署通义千问Qwen2.5——基于mindie镜像一路试错版(三)

文章目录 前言纯模型推理启动服务后面干什么?这可咋整啊?愁死了!总结前言 这是咱这个系列的第三个文章了。 毕竟,这是我好几天摸索出的经验,能帮助各位在几个小时内领会,我觉得也算是我的功劳一件了。 所以,一是希望大家耐心看下去,耐心操作下去;而是恳请各位多多关…

深度学习中的图片分类:VGG16 模型详解及代码实现

深度学习中的图片分类:VGG16 模型详解及代码实现 在深度学习的发展中,VGG16 是一个非常经典且重要的卷积神经网络(CNN)架构。尽管它已经不如一些更现代的网络(如 ResNet 和 EfficientNet)那么流行&#xf…

微服务通讯系统(2)

软件设计及核心代码展示 数据库表设计,ES搜索表设计,Redis键值对设计 数据库表设计 (1)用户表设计 这里的ID是指的是在系统中用户是第几个注册的(从1开始) user_id是指用户的唯一ID是通过uuid()函数生成…

数学建模之熵权法

熵权法 概述 **熵权法(Entropy Weight Method,EWM)**是一种客观赋权的方法,原理:指标的变异程度越小,所包含的信息量也越小,其对应的权值应该越低(例如,如果对于所有样本而言,某项指标的值都相…

spark同步mysql数据到sqlserver

使用Apache Spark将数据从MySQL同步到SQL Server是一个常见的ETL(Extract, Transform, Load)任务。这里提供一个基本的步骤指南,以及一些代码示例来帮助你完成这项工作。 ### 前提条件 1. **安装Spark**:确保你的环境中已经安装了…

【计算机网络】实验9: 路由信息协议RIP

实验9 路由信息协议RIP 一、实验目的 本实验的主要目的是深入理解RIP(路由信息协议)的工作原理,以便掌握其在网络中的应用。通过对RIP的学习,我们将探讨该协议如何实现路由选择和信息传播,从而确保数据包能够在网络中…

异步复位同步释放

timescale 1ns / 1ps //同步复位 异步释放 并且将输出的信号转换成高电平有效 module reset(input clk ,input rst_n,output reset); reg reset1; reg reset2;always (posedge clk or negedge rst_n) beginif(!rst_n) beginreset1<1b1;reset2&…