精华内容
下载资源
问答
  • 校验码

    2020-12-22 16:57:53
    码距:任意(所有)两个码子的最小距离; 1111与0000码距为4 0000与1100码距为2 奇偶检验码: 奇校验:在数据为本身增加一位0,将数据位中1的个数变为奇数 ...例如:,信息码为10111,则CRC校验码是多少? 将...

    计算机基础:校验码

    码距:任意(所有)两个码子的最小距离;

    1111与0000码距为4

    0000与1100码距为2

    奇偶检验码:

    奇校验:在数据为本身增加一位0,将数据位中1的个数变为奇数

    偶校验:在数据为本身增加一位1,将数据位中1的个数变为偶数

    只能发现奇数个位出错的情况

    海明码:奇偶校验、分组校验,能够显示哪一个数字错了。

    检验位的位置:2的n次方的位置上。

    设数据位是n,校验位是K位,则:

    这个很重要,考试会出的。

    例:校验一个32位长的数据,需要的检验位是几位?

    当k=1时:,显然不成立;

    当k=2时,,显然不成立

    当k=3时,,显然不成立

    当k=4时,,显然不成立

    当k=5时,,显然不成立

    当k=6时,,成立

    所以当K=6的时候聚就可以了,所以需要6位检验位。

    当k>6的时候都成立,但是只取最小的就可以了!!!

    循环冗余校验码: 

    例如:,信息码为10111,则CRC校验码是多少?

    1. 将X替换为2,得到,所以如下:,在其中相同的数据为1,没有的为0,得到10011;
    2. 用不进位加法表示进行运算:

    除数为:101110000,多项式的最高次幂为几,就添加几个0;

    被除数为1中得到的10011

    3.运算

     

    注意在计算的时候采取的是不进位加法(1+1=0,不向上一位进1)。如果最高次幂为n,则在相加后保留n-1位(这一块我感觉是这样,但是有没有依据就不清楚了)

    得到余数就是校验码:1100

    4.用上一步的到的余数替换除数尾数增加的四个0,得到的新的数据位为:101111100

     

    展开全文
  • 校验码之奇偶校验码

    万次阅读 2017-07-26 11:27:01
    校验码之奇偶校验码 在计算机系统中各部件需要进行数据交换,为了确保数据...码距:指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。 例如4位8421就是码距为1 有人会问为什么4位8421码的码距为1呢?

    校验码之奇偶校验码

    在计算机系统中各部件需要进行数据交换,为了确保数据在传送过程中正确无误,我们需要使用校验码来测试数据是否出错。

    校验的基本思想:将编码分为合法编码和错误编码。合理的设计编码规则使数据在传送过程中出现某种错误就会变成错误编码。

    码距:是指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。

    例如4位8421就是码距为1

    有人会问为什么4位8421码的码距为1呢?我们仔细读码距的概念就会理解之中的原因。

    我看过一个例子拿来借用:

    8421中,0001是合法的,从0001改变一位变成0000也是合法的,所以码距是1,就是说如果传输过程中,信息改变了一位,仍然是合法的,就很难检测出错误;但如果用00代表0,11代表1,如果还是原来的从00 00 00 11改变一位,收到的信号变成00 00 00 10就是不合法,就可以把错误信号退回去重发,而如果想要合法就要变成00 00 00 00,也就是至少改变2位才能合法,码距就是2.所以扩大码距方便检测。

     

    奇偶校验包含奇校验和偶校验两种校验。奇校验(Odd Parity)是这样一种校验:它所约定的编码规律是,让整个校验码(包含有效信息和校验位)中“1”的个数为奇数。而偶校验(Even Parity)约定的编码规律是,让整个校验码中“1”的个数为偶数。有效信息(被校验的信息)部分可能是奇性(“1”的个数为奇数)的,也可能是偶性的,所以奇、偶两种校验都只需配一个校验码,就可以使整个校验码满足指定的奇偶性要求。这个校验位取“0”还是“1”的原则是:若是奇校验,则连同校验位在内编码里含“1”的个数共有奇数个;若是偶校验,则连同校验位在内编码里含“1”的个数是偶数个。

    【例】有效信息为10001101,分别求奇校验编码和偶校验编码

    【解】有效信息中有4个“1”,所以奇校验的校验位去“1”才能使“1”的总数为奇数个;偶校验的校验位去“0”才能使“1”的总数为偶数个。所以,奇校验编码为110001101;偶校验编码为010001101

     

    展开全文
  • 比如我们在网络上下载的安装包,下载时都会提示MD5或者SHA1的校验码是多少?有没有想过校验码是如何生成的了?以下就是用Objective-C来对文件计算checksum即校验码是否 服务器端存储的一致,如果是一致的,则表示...

    一般我们比较文件的完整性,就是对文件进行哈希计算,通常就是MD5或者SHA256或者SHA1计算,如果生成的结果字符串是一样的,则表明文件没有被篡改

    比如我们在网络上下载的安装包,下载时都会提示MD5或者SHA1的校验码是多少?有没有想过校验码是如何生成的了?以下就是用Objective-C来对文件计算checksum即校验码是否 服务器端存储的一致,如果是一致的,则表示文件是完整的

    #import "FileChecksumUtil.h"
    #import <CommonCrypto/CommonDigest.h>
    
    @implementation FileChecksumUtil
    
    // MD5 hash for file 对文件进行MD5 HASH计算
    + (NSString * _Nullable)md5HashForFileWithFullPath:(NSString *)fullPath {
        NSFileManager *fileManager = [NSFileManager defaultManager];
        // Make sure the file exists
        if( [fileManager fileExistsAtPath:fullPath isDirectory:nil]) {
            NSData *data = [NSData dataWithContentsOfFile:fullPath];
            unsigned char digest[CC_MD5_DIGEST_LENGTH];
            CC_MD5(data.bytes, (CC_LONG)data.length, digest);
     
            NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
            for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
                [output appendFormat:@"%02x", digest[i]];
            }
            return output;
        }
        return nil;
    }
    
    // 对文件进行SHA256 HASH计算
    + (NSString * _Nullable)sha256HashForFileWithFullPath:(NSString *)fullPath {
        NSFileManager *fileManager = [NSFileManager defaultManager];
        // Make sure the file exists
        if( [fileManager fileExistsAtPath:fullPath isDirectory:nil] ) {
            NSData *data = [NSData dataWithContentsOfFile:fullPath];
            unsigned char digest[CC_SHA256_DIGEST_LENGTH];
            CC_SHA256(data.bytes, (CC_LONG)data.length, digest);
     
            NSMutableString *output = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2];
     
            for (int i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) {
                [output appendFormat:@"%02x", digest[i]];
            }
            return output;
        }
        return nil;
    }
    
    @end
    
    
    // 测试
    NSString *fullPath = @"/Users/victorzhang/Documents/20200730-资料.zip"; 
    NSString *md5 = [FileChecksumUtil md5HashForFileWithFullPath:fullPath];
    NSString *sha1 = [FileChecksumUtil sha256HashForFileWithFullPath:fullPath];
         
    NSLog(@"MD5: %@", md5);
    NSLog(@"SHA256: %@", sha1);
    

    输出

    MD5: db620a4c2f33899dfea298fb8377938b
    SHA256: f6b77493ce07b40b25c6c2789284d92a7d23e0d68b95df766f1f2144f4fae6ad
    
    展开全文
  • 校验码 - 海明码

    2017-11-10 12:02:40
    海明校验码经常考试当中会考到海明码是个难点。首先需要了解海明码编码的规则,如何编码和计算多少位信息位需要多少个校验位。一个经过海明码编码完成之后那些是位置是校验位那些是信息位。在这种编码体系当中明确...

    海明校验码经常考试当中会考到海明码是个难点。首先需要了解海明码编码的规则,如何编码和计算多少位信息位需要多少个校验位。


    一个经过海明码编码完成之后那些是位置是校验位那些是信息位。在这种编码体系当中明确规定了校验位的位置,是位于整个信息编码完成的的这个信息编码的当中的2的n次方的位置。

    如:

    2的0次方    也就是第一位 是校验位。  

    2的1次方    也就是第二位 是校验位。  

    2的2次方   也就是第四位 是校验位。

    也就是海明码把校验位的位置给定死了。固定后就可以直接把这些位置的数据挑出来就得到校验位,其他位置再填充信息位。

    客观的讲如果有1个信息位那么它的最终编码长度至少是3 位 吧!  如果是2个信息位 最终编码就是5位长度,放3个信息位就会有6位长度,放4个信息位就得7位长度,5个信息位 

    就得9位的编码长度因为第8位是2的3次方是校验位的位置。如果用数学公式表达就是:

      


    第一个公式: r 表示  校验位数,k表示 信息位数     

    第二个公式:p表示校验位数 ,D表示信息位数

    比如:有4个信息位  那么编码后的总长度必须满足上面的公式,所以r 取值最小为3。   这就是信息位 数与校验位的位数的关系。 


    如果在抽象点说 有x个信息位  x+r +1   <=   2的r次方。    r代表校验位。不满足这个条件就不行。


    再如信息位是5位,那么 r必须取值为4  。  


    校验位的位置是与编码有一定的关系之后才能进行检错纠错的。

    也可以表示为:

    n代表数据位,k代表校验位。

    海明码的编码:

    信息位比较简单就直接放进去就行了。复杂的是校验位填进去校验位如何计算出来需要弄清楚。通俗的讲是有一定的规律的比如:

    1011     编码后的总长度是7位。  信息位 放在7   、6 、5、3 位上其他是校验位

    各个位置满足一定的规律  

    第 7位    7   =2的2 次方    +2的1次方    +2的0次方。 

    第6位     6  = 2的2次方+2的1次方

    第5位   5 = 2的2次方   +2的0次方

    第三位 3 = 2的1次方 +2的0次方


    可以看出 2的2次方     只有第7、6、5 用到了。所以  校验位的最高位  就等于  第7位的信息位  异或  第6的信息位  异或 第5位的信息位

    r1  =   在2的1次方位置 第7位信息位用到了 2的1次方  第6 、3位用到了。  r1  =  I4   异或I3异或  I1  。r0校验位在2的0次方位置。2的0次方第7、5、3位用到了。就把这几位的值异或。ro = I4 ^ i2 ^ I1  ;




    信息:1011   

    r2  =   I4 ^   I3  ^I2         =   左到右    I4  =1     I3  =0     I2 =1    I1 =1    ;      r2 = 1^0^1   =0;


    r1=I4 ^ i3 ^I1         结果等于0


    ro = I4 ^ i2 ^ I1  ;   结果等于1

     

    校验为是001


     

    得整个编码为:1  0  1   1  1   0   1     红色为校验位值根据  黑色为信息值异或得来的。



    海明校验码错了检错还可以纠错,如何做到纠错了呢?假如其他位置都对有1位出错了, 其他位置都对 就最后一个位出错了,那么我提取出来的校验位是 0 0 0,我们就会按原来产生校验位的形式再次产生校验位,并且把收到的校验位和产生的校验位做异或操作。我们重新产生一次校验位校验为是0 0 1    。那么000 与001 按位异或 得到 001。这个结果就指示出了错误的位置在1号位置 ,如果是010 就是第2位出错了,如果是110 就是第6位出错了,一旦知道那一位出错了,只要把哪一位取反就纠正了。








    展开全文
  • 校验方法和校验码

    2012-04-07 21:46:19
    所谓码距指在一个编码系统中任意两个合法编码之间至少要有多少个二进制位不同,即任意两个码字的最小距离。 三种校验码: 一、奇偶校验码 奇偶校验一种校验代码传输正确性的方法。根据被传输的一组二进制代码...
  • 2.21 海明校验码

    2021-06-12 19:57:51
    海明校验码 需要了解海明码的编码规则,要会计算需要多少位校验位。 海明码的编码规则 校验位: 校验位的位置有规律的。都位于2n。 比如20(1),21(2),22(4)。。都校验位。 信息位:不是校验位的其他位置。 举个...
  • CRC校验码循环冗余码

    2021-03-16 20:13:31
    CRC校验码 G(x) = x^4 + x +1 x = 2 ,2^4 2^3 + 2^2 + 2^1+ 2^0 则转换后的 信息为 10011 异或运算 相同为0 不同为1 ...够除商为 1 不够除就为 0 ,但是商不是我们需要...后面的四个零 看X的最高次是多少 就补几个0 ...
  • 2.19 校验码的概念

    2021-06-12 11:52:29
    加一些冗余信息实现,这就是校验码。 什么码距? 整个编码系统中任意两个码字的最小距离。通俗点讲,就是改变多少个位可以成为另一个码。 若用1位长度的二进制编码,A=1,B=0,这种情况能不能检错呢? 不能。我发...
  • 用servlet校验密码2

    2019-09-24 18:07:27
    用servlet校验密码2 1.工作目录结构2 由于需要访问MySQL数据库,所以还需要导入MySQL驱动包 2.数据库 ...这里的count变量指查询到多少条记录(1条说明登录正确,0条说明错误) 4.运行结...
  • 10-校验码

    2019-09-12 18:55:09
    什么检错和纠错? 检错:检查出错误 纠错:检查出错误并纠正错误 一般要达到检错和纠错,一般要加冗余...一个编码系统的距就是编码系统中任意(所有)两个码字的最小距离(就是变化多少个位就能变成另一个码字) ...
  • 校验码奇偶校验循环校验码CRC海明校验码 基础知识 原理:通过加一冗余码,来检验或纠错编码 码距:两个二进制数比较,在同一数位的地方,数位值不同的个数有多少个,即码距 如:0100 和 1111码距是多少 1、看:有3...
  • 奇偶校验码(Parity Code)一种简单有效的校验方法。通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或偶数(偶校验),从而使码距变为2。 常见的奇偶校验码有3种: 水平奇偶校验码; 垂直奇偶...
  • 身份证第18位(校验码)的计算方法  1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。  2、将这17位数字分别和系数...
  • 关于校验码的知识点,首先我们应该知道有关校验码的三个基本名词的含义。 检错、纠错与码距  检错与纠错,顾名思义就是检查错误和纠正错误。  码距,指的在一个编码系统中任意两个码的最小距离。简单点说,...
  • 1、校验码 码距:就单个编码A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码。在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换位B:11,码距2.一般来说码距越大,越利于纠错...
  • CRC校验码的模二运算

    2019-12-05 15:47:57
    具有r个校验位的多项式能检测出所有长度小于等于r的差错。 设有原始帧 11 0101 1011,生成多项式为G(x)=$x^4$+x+1,求实际传输帧为多少。 思路:生成多项式G(x)=10011 原始帧末尾补4个0(生成多项式的最高次幂) 求得...
  • 3、用加出来和除以11,看余数是多少? 4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2。(即余数0对应1,余数1对应0,余数2对应...
  • * 身份证第18位(校验码)的计算方法: * A.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的 * 系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2 * B.将这17位数字和系统相乘的结果相加。 * C....
  • JS校验身份证号码

    2019-08-13 23:15:19
    3.用加出来和除以11,看余数是多少? 4余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2。 /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))
  • 【计算机组成原理】海明校验码(Hamming Code)

    万次阅读 多人点赞 2019-04-21 10:47:30
    在学习计算机组成原理时对海明不是特别理解,查阅了相关网上的资料也头昏眼花,大量的字母公式搞得头大,...所谓距,指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。 例如我们现在有一套...
  • 海明码校验和CRC校验

    2013-03-19 13:14:01
    信息为m位,校验位为k个。计算k的最小值公式为:2^k-1>...例子:数据为11001100,k的数值是多少? 2^k-1-k>=8 经推导k=4,所以m+k=12位 然后推导出督导公式 数据位 D C B A 1 0 0 0 1 2 0 0 1 ...
  • <div><p>...具体是在哪做的登录校验?说明里面只是要将密码是多少讲一下吧,数据库存的是加密后的密码</p><p>该提问来源于开源项目:gavenwangcn/vole</p></div>
  • 身份证第18位(校验码)的计算方法

    千次阅读 2018-11-02 23:56:00
    1、将前面的身份证号码...3、用加出来和除以11,看余数是多少?4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2。5、通过上面得知...
  • 如果求出效验? 2k≥m+k+12k≥m+k+1 2^k \geq m+k+1 开头就上公式,虽然不友好,可这个公式必须要你知道的。m二进制的长度。 举个栗子 假设有: 0 1 1 0 1 0 1 0 二进制数。我们来数数有多少个哈。 1...
  • 关于循环冗余校验CRC的计算

    千次阅读 2018-03-06 06:55:58
    采用CRC进行差错校验,生成多项式为,信息码为10111,则计算出的CRC校验码是多少?解题步骤:首先,化解多项式结果为10011,其次信息码加0做模二加运算(不进位加法),将10111进行补X的最高次幂个0进行模二运算,...
  • 海明码校验原理透析

    2009-04-28 15:21:00
    海明码校验是为了保证数据传输正确而提出的,本来就是一串要传送的数据,如:D7,D6,D5,D4,D3,D2,D1,D0,这里举的八位数据,可以n位数据。就这样传送数据,不知道接收到后是不是正确的。所以,要加入校验位数据...
  • 海明校验

    2021-03-21 14:58:17
    在数据编码中加入几个校验码位,并把数据的每一个二进制位填充在几个奇偶检验组中。 只要有某一个二进制位发生错误,那么就会使其所在校验组的值发生改变,那么在这个基础上,我们就可以找出哪一个值发生错误。 设...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 179
精华内容 71
关键字:

校验码是多少