一 校验数据的一般算法比较

都是通过对数据进行校验产生一个校验值,用来校验数据完整性。

不同点:

算法不同: CRC采用多项式除法,MD5和SHA1使用的是替换、轮转等方法;

校验值的长度不同:

CRC校验位的长度跟其多项式有关系,一般为16位或32位;

MD5是16个字节(128位);

SHA1是20个字节(160位);

安全性不同:这里的安全性是指检错的能力,即数据的错误能通过校验位检测出来。CRC的安全性跟多项式有很大关系,相对于MD5和SHA1要弱很多;MD5的安全性很;SHA1的安全性最高。

效率不同,CRC的计算效率很高;MD5和SHA1比较慢。

用途不同。CRC一般用作通信数据的校验,比如HDFS 通信过程数据完整性校验;MD5和SHA1用于安全领域,比如文件校验、数字签名等。

二Checksum(校验和)

Checksum:在数据处理和数据通信领域中,用于校验目的的一组数据项的和

HDFS为了保证数据的完整性,采用checksum进行数据校验,而具体Checksum类型主要包括:

>>NULL:不校验

>>CRC32(CyclicRedundancy Check): 采用32位的循环冗余校验码

>>CRC32C:

>>可以通过io.bytes.per.checksum属性设置,字节数默认是512 字节,创建一个单独的校验和,如果节点检测数据错误,就会报CheckSumException异常

>>除了在读取数据时进行验证,数据节点也会在后台运行一个线程 
DataBlockscanner(数据块检测程序)周期性的验证存储在数据节点上的所有块。

一旦检测到corruptblock,在heartbeat阶段,DN会收到NN发来的BlockCommand,从其他数据块中拷贝一份新的replica(备份块)。

Checksum 校验和相关推荐

  1. checksum命令 linux_数字签名及 Checksum 校验和

    数字签名及验签 一般情况,为了证明文件或信件从源端通过网络传输到目的端未被人为篡改,通常采用数字签名的技术. 通过如下简单几步实现数据签名及验签. 发送方数字签名过程: 发送者通过散列函数将带发送的数 ...

  2. IP头TCP头的checksum校验和计算

    校验和就是数据位按位相加之后取反所得,验证校验和的时候把数据位按位相加再加上校验和如果等于零则表示验证通过. 如:数据位相加为1010, 那么校验和为0101,验证时1010+0101=0,验证通过. ...

  3. 关于checksum校验和算法

    今天复习计网的时候看到了UDP头部有差错校验,其中的checksum算法没理的太清楚,索性写一篇博客,顺便回顾一下其他的. 校验和覆盖的内容: IP校验和:IP首部. ICMP校验和:ICMP首部+I ...

  4. c语言 checksum,容易被忽视的IP报头中的Checksum校验和

    看计算机网络相关的书,每次看到IP或者UDP报头校验和时,都一瞥而过,以为相当简单.可是今天一看真傻眼了,怎么算的,为什么用反码不用补码还真不知道怎么回事. 算法的C语言实现: unsignedsho ...

  5. internet网络 checksum校验和计算方法

    http://hi.baidu.com/%CE%C4%B3%AD%B9%AB/blog/item/7d9a4e08f82d72b32eddd4cb.html

  6. 修复hex/s19文件中的校验和

    一.背景 在一些开发中可能需要手动修改烧写文件中的一些数据,由于s19文件和hex文件中都有checksum校验和,如果修改了其中的数据内容,则需要手动同步修改校验和. 1.文件格式 S-record ...

  7. C语言解析pcap文件得到HTTP信息实例(原创,附源码)

    原文:http://xiexiaohui.com.host2.ugocn.com/index.php/archives/34 转载请注明出处.来自 hello xiexh (xiexiaohui092 ...

  8. OSPF 提升 一 ----基础

    ospf  ccnp内容 一  link-state protocols      IGP   开放式的最短路径优先协议     公有协议 支持中到大型的网络    spf算法 链路状态协议 1.传送 ...

  9. 计算机常用英语术语、词汇表(上)

    Computer Vocabulary In Common Use 一.硬件类(Hardware) 二.软件类(Software) 三.网络类(Network) 四.其它 CPU(Center Pro ...

最新文章

  1. Linux终端C语言实现图片拷贝
  2. UNIX进程的创建,进程链和进程扇
  3. Flink-on-yarn
  4. 目前中关村在线上面的CPU排行情况
  5. linux下查找java的安装路径和java和tomcat的环境配置
  6. kubernetes(k8s)安装部署
  7. 百度北京一面2016-3-18
  8. 智能可穿戴迎来长续航焕新活力 出门问问TicWatch Pro 3即将国内上市
  9. PHP switch问题
  10. 【日常】解决问题:SSR1080端口被占用的问题
  11. 急速微信开通过滤方法
  12. 4.25 C语言练习(然后是几点:根据起始时间和流逝的时间计算出终止时间。计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。)
  13. mongoose 入门(四)使用aggregate 聚合管道、使用 populate 实现关联查询
  14. win10远程连接服务器出现“这可能是由于credssp加密……”的原因及解决办法,win10家庭版无法找到gpedit.msc或者组策略或安全组策略
  15. android图片压缩之图片和内存基础
  16. Xcode Library
  17. 爬虫实战—拿下最全租房数据 | 附源码
  18. SQL函数lpad()以及rpad()的用法
  19. 老罗的《Android系统源代码情景分析》翻了10遍还看不懂?因为你用错了
  20. 【webshell管理工具之一】中国菜刀

热门文章

  1. IDEA 点击进入方法内部_Idea中,听说会了Debug,你就离大佬不远了!
  2. 处理多维特征的输出(糖尿病数据)
  3. 怎么配置java ee_如何配置Java EE Eclipse+Tomcat开发环境
  4. 微信各地服务器如何同步,彻底搞清楚并实现多端同步登录
  5. linux接收网络数据并存存储,Linux网络设备驱动之数据接收流程(六)
  6. 解决sklearn.metrics指标报错ValueError: Target is multiclass but average=‘binary‘. Please choose anothe...
  7. geatpy自定义初始的x值、自定义初始基因
  8. sklearn自定义评价函数
  9. android广播内容显示在屏幕上,在Android本机来电屏幕上弹出窗口,例如真正的来电者Android应用...
  10. pandas php,pandas分组聚合代码详解