数据完整性
▲
完整性是指在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。许多开放的系统应用都有依赖于数据完整性的安全需求。
散列函数hash
实现数据的完整性保护可以采用散列函数Hash算法
散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。它可以确保传递真实的信息 。消息或数据的接受者确认消息是否被篡改的性质叫数据的真实性,也称为完整性。发信人通过将原消息和散列值一起发送,可以保证真实性。常见的算法有 MD5、SHA-1、SHA256等,该类函数特点是函数单向不可逆、对输入非常敏感、输出长度固定,针对数据的任何修改都会改变散列函数的结果,用于防止信息篡改并验证数据完整性。下面我们就来了解一下MD5、SHA-1和SHA-256算法吧!
![279244925cfa7736e6ddbad81ba83177.gif](https://i-blog.csdnimg.cn/blog_migrate/1e8e315f2681c7611284b8b0daeccdd7.gif)
MD5算法