《深入浅出HTTPS》读书笔记(8):密码学Hash算法的分类

密码学Hash算法有很多,比如MD5算法、SHA族类算法,MD5早已被证明是不安全的Hash算法了,目前使用最广泛的Hash算法是SHA族类算法。

1)MD5

MD5是一种比较常用的Hash算法,摘要值长度固定是128比特。

MD5算法目前被证明已经不安全了,MD5算法违反了强抗碰撞性原则,但是还没有破坏单一性原则。

理论上经过280次运算就能产生碰撞,但目前最快只要经过263次运算就能破坏强抗碰撞性。

2)SHA

SHA算法不是一个算法,而是一组算法,主要分为三类算法。

1)SHA-1

SHA-1算法类似于MD5算法,输出的长度固定是160比特。

目前SHA-1算法在严谨的加密学中已经被证明是不安全的,在实际应用过程中使用SHA-1算法并不代表就不安全。

在Git中,所有存储的文件都会通过SHA-1算法计算出一个摘要值。Git中使用SHA-1是为了保证数据的完整性而非机密性。

2)SHA-2

SHA-2算法是目前建议使用的Hash算法,截至目前是安全的,主要有四种算法,分别是SHA-256、SHA-512、SHA-224、SHA-384

3)SHA-3

是一种在设计上和SHA-2完全不同的算法,主要有四种算法,分别是SHA3-256、SHA3-512、SHA3-224、SHA3-384。

相关推荐
apcipot_rain3 分钟前
密码学——序列密码 序列线性复杂度 B-M算法 例题演示
算法·密码学
迪小莫学AI23 分钟前
LeetCode 1863. 找出所有子集的异或总和再求和
算法·leetcode·深度优先
技术小白Byteman1 小时前
蓝桥刷题note13(排序)
开发语言·数据结构·c++·学习·算法·visualstudio
芜湖xin1 小时前
【题解-Acwing】798. 差分矩阵
算法·差分
_星辰大海乀1 小时前
二叉树相关练习--2
java·开发语言·数据结构·算法·链表·idea
一只拉古1 小时前
掌握扫描线(sweep line)算法:从LeetCode到现实应用
算法·leetcode·面试
OneQ6661 小时前
C++自学笔记——动态创建对象
c++·笔记·算法
梭七y2 小时前
【力扣hot100题】(064)在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·leetcode
Fantasydg2 小时前
DAY 39 leetcode 18--哈希表.四数之和
算法·leetcode·散列表
hgdlip2 小时前
抖音直播位置与IP属地不同?解析原因与应对策略
网络·网络协议·tcp/ip