22、常见加密哈希算法及安全机制解析

常见加密哈希算法及安全机制解析

1. 安全哈希算法(SHA)

1.1 SHA 概述

安全哈希算法(SHA)是当今使用最广泛的哈希算法之一,有多个版本,且都被认为是安全且无碰撞的:
- SHA - 1 :160 位哈希函数,类似于早期的 MD5 算法,由美国国家安全局(NSA)设计,是数字签名算法(DSA)的一部分。
- SHA - 2 :有两个类似的哈希函数,分别是 SHA - 256 和 SHA - 512,字长不同,前者使用 32 字节(256 位)字,后者使用 64 字节(512 位)字。还有截断版本 SHA - 224 和 SHA - 384,也由 NSA 设计。
- SHA - 3 :2012 年 10 月被采用的最新版本。

1.2 SHA - 1 算法详解

1.2.1 填充与分块

SHA - 1 和 MD5 类似,使用填充和 512 位块。最后一个块必须是 448 位,后面跟着一个 64 位无符号整数,表示原始消息的大小。如果消息超过 512 位,一个块的最终输出将与下一个块组合,直到到达最后一个块。

1.2.2 初始化与消息处理

SHA - 1 使用五个块,通常表示为 h1、h2、h3、h4 和 h5,并初始化为常量值。要哈希的消息转换为字符并转换为二进制格式,然后填充,使其均匀地分成 512 位段,最后加上 64 位的原始消息长度。

1.2.3 生成 80 字数组

每个 512 位段被

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值