白话文说哈希Hash是啥?
Hash
Hash ,俗称哈希 ,也叫散列 ,是一种将任意长度的消息(数据)压缩到某一固定长度的消息摘要(消息)的算法
|
---|
Hash算法具有几个重要的特性 |
1. 不可逆性(从Hash值反推出原消息是不可能的) 2. 抗冲突型(指定消息M1,不存在另一个消息M2,使得Hash(M1)=Hash(M2)) 3. 分布均匀性(Hash算法的结果是均匀分布的) |
常见的Hash算法 |
MD5
128bit的报文摘要(密文) |
SHA-1
160bit的报文摘要(密文)(40位*4bit) SHA-1主要有两种用途,一个是 最新资料显示,理论上对其进行哈希碰撞的攻击可以在2^51(2的51次方=2251799813685248)左右的次数内实现 |
SHA-2
256/224/512/384等多种长度的报文摘要 |
相关名词解释
SHA(secure hash algorithm) |
---|
又叫:hash values / hash codes / hash sums / checksums / simply hashes |
加密哈希函数(cryptographic hash function) |
A hash function is any algorithm or subroutine that maps large data sets of variable length, called keys, to smaller data sets of a fixed length; |
哈希碰撞(hash collision) |
不同的两块数据有相同的hash值 |
雪崩效应(Avalanche effect) |
在加密中,源数据一点儿的差异将会得到完全不同的加密后的密码,这种现象叫做“雪崩效应” |
参考:git中保证文件完整性的SHA-1值(commit ID)
白话文说哈希Hash是啥?相关推荐
- Redis学习---(8)Redis 哈希(Hash)
Redis 哈希(Hash) Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值 ...
- perl 哈希(hash) 学习笔记
perl 哈希(hash)学习笔记(一) 1.什么是哈希 哈希是perl的一种数据类型,比较类似数组,用于存放数据,包括2部分关键字keys和值value.不同于数组,哈希访问元素的是按照名字访问标量 ...
- 【Redis】Redis 哈希 Hash 键值对集合操作 ( 哈希 Hash 键值对集合简介 | 查询操作 | 增加操作 | 修改操作 )
文章目录 一.哈希 Hash 键值对集合 二.查询操作 1.Redis 中查询 Hash 键值对数据 2.查询 Hash 键是否存在 3.查询 Hash 中所有的键 Field 4.查询 Hash 中 ...
- Redis—列表(List)、集合(Set)、哈希(Hash)、有序集合 Zset
Redis-列表List.集合Set.哈希Hash.有序集合 Zset 列表List 单键多值 常用命令 数据结构 Redis 集合(Set) 常用命令 数据结构 Redis 哈希(Hash) 常用命 ...
- 区块链 - 哈希(Hash)
章节 区块链 – 介绍 区块链 – 发展历史 区块链 – 比特币 区块链 – 应用发展阶段 区块链 – 非对称加密 区块链 – 哈希(Hash) 区块链 – 挖矿 区块链 – 链接区块 区块链 – 工 ...
- 哈希hash 各种用法最全详解
哈希hash 什么是哈希 哈希表是一种散列表,可支持插入元素和查询元素的操作. 当元素的取值范围特别大时,布尔数组的下标无法支持,这时可以用到哈希表. 操作 对于一个哈希表,需要取一个固定的模数ppp ...
- Redis命令——哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿). 实例 127 ...
- Redis-04Redis数据结构--哈希hash
文章目录 哈希概述 客户端操作hash Redis hash 结构命令 Spring操作reids的hash Step1 修改defaultSerializer Step2 操作hash 注意 代码 ...
- Redis 哈希(Hash)
为什么80%的码农都做不了架构师?>>> Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 ha ...
最新文章
- 相对最完整的软件测试工具手册
- 【基于深度学习的脑电图识别】数据集篇:脑电信号自动判读的大数据
- 从网页中读取数据 python_数据分析硬核技能:用 Python 爬取网页
- bitmap设置图片尺寸缩小,避免内存溢出/OutOfMemoryError的优化方法
- Flex 获取时间戳、随机数
- python split函数 空格_Python随笔29:Python基础编程练习题23~24
- 报表下拉框多选查询及一般在sql中添加查询条件
- Linux之ls命令
- 【学习 Opencv】—— 访问摄像机和视频
- SQL的简单增、删、改
- jqueryui时间插件_满足您所有日历要求的jQueryUI Datepicker插件
- 【Python学习日记】迭代器
- exe4j打包后 提示 couldn't load main class
- 关于.NET、ASP.NET和ASP
- 基于BP神经网络的轨迹跟踪matlab程序
- 如鹏网.Net基础2 第六章:MYSQL
- 山东省第五届ACM大赛--Problem E: Full Binary Tree
- python文本字词分割及词库云
- P2P技术软件Murder分发大文件
- linux 实验感悟_linux实训心得_linux实习心得体会范文