校验、加密、压缩、哈希值的区别,我老是弄混,现在总结一下

校验、加密、压缩、哈希值这几个我老是弄混,现在总结一下。

校验

    就是对一组数据进行计算,得出一个校验值,发送方把数据及校验值都发出去,接收方收到后也用相同的校验方法对数据计算得出新的校验值,新校验值与收到的校验值做对比,如果一样说明数据在传输过程中没有受到干扰,没有改变。常用的校验方法:校验和、CRC,其中CRC校验是一种运用非常广泛的校验方法,CRC是一类校验,

根据位数不同分为CRC8、CRC16、CRC32

根据多项式的不同又分为 CRC-ITU CRC-USB CRC-MODBUS CRC-CCITT,这几种都比较常用,也可以自定义一个多项式来作计算。

加密:

加密这个更容易理解,就是不想让别人知道自己发送的什么数据,即使有人在传输过程中截获了数据,由于数据是加密的,黑客也不知道数据的内容。还以上面的例子,发送方发送数据之前,先把数据通过事先设定的密码对数据进行加密,然后只把加密后的数据发给接收方;接收方收到数据后,会使用解密密码对数据进行解密,解密之后就会得到正确的数据了。加密方法根据密码大概分为2大类,

加密密钥与解密密钥相同的为对称加密,比如AES加密;

加密密钥与解密密钥不相同的为非对称加密,类型为RSA加密。

压缩:

这个也容易理解,现在最常用的是zlib压缩了,这已经成为事实上压缩界的标准了。我们日常用的文件,在编码结构上安排不够合理,造成文件比较大,比较冗余,使用压缩软件就可以把文件压缩小,比如大名顶顶的WINRAR,(单片机上常用的quicklz \ fastlz)。有些文件比如视频文件在编码上已经经过了精心选择,所以即使你使用最好的压缩工具,也不能把视频文件压缩的很小。但是TXT文件你就可以把它压缩到很小。作用:文件压缩小后,便于储存、传输。

哈希值:

可以简单地把哈希值理解成是一段数据的DNA,或者身份证

使用哈希函数对一段数据一个文件进行运算,得到它的哈希值。当文件中某一位发生变化时,再次计算它的哈希值,肯定也原来的相比会变化很大。但是你不能通过哈希值来得到原来的数据,不可逆性。

常用 的哈希算法有MD5 SHA

(个人理解,哈希算法就是比较高级的校验算法,常用的校验算法了不起是32bit的,CRC32,但是以最简单的MD5来说,它已经是128bit的了,所以2组数据的CRC32值可能一样,但2组数据的哈希值不可能一样

       所以哈希值常配合RSA加密用在身份验证、数字签名方面!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值