白话文说哈希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 ...
最新文章
- 用 Flask 来写个轻博客 (28) — 使用 Flask-Assets 压缩 CSS/JS 提升网页加载速度
- 【Nginx】错误: [emerg] “proxy_pass“ cannot have URI part in location given by regular expression,...
- 一脸懵逼学习基于CentOs的Hadoop集群安装与配置(三台机器跑集群)
- CSS画各种二维图形
- python相对路径下的shell_shell,python获取当前路径(脚本的当前路径) (aso项目记录)...
- 试题 15 枚举n-m之间的所有质数(质数)
- 简单工厂模式和策略模式的区别
- matlab中global
- 全网功能最强Modbus上位机软件
- vertica 数据库 linux,CentOS 7下安装vertica记录
- 直观认识Windows
- mac可用的vpb_有什么让你相见恨晚的 MacBook 神器?
- 微软sus服务器搭建,规划和部署 Exchange Server
- Appium: Windows系统桌面应用自动化测试(二)
- elment-ui的el-select选择器blur事件失效 bug解决
- 游戏开发经验之开源游戏盈利的十个有效途径
- C++ RegSetValueEx返回值始终为5
- codevs 2703 奶牛代理商 XII
- python语句分号_【判断题】Python程序中每条语句以分号结尾。
A. 正确
B. 错误
- shared_ptr的详解