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

    千次阅读 2015-04-29 11:53:22
    校验和是用于检测传输过程中可能产生的错误,将其置于数据后,随数据一同发送,接收端通过同样的算法进行检查,若正确就接受,错误就丢弃 校验和C源代码: unsigned short checksum(unsigned char *buf,int len)...

    校验和是用于检测传输过程中可能产生的错误,将其置于数据后,随数据一同发送,接收端通过同样的算法进行检查,若正确就接受,错误就丢弃

    校验和C源代码:


    unsigned short checksum(unsigned char *buf,int len)
    {
            unsigned int sum=0;          //1
            unsigned short *cbuf;        //2
            cbuf=(unsigned short *)buf;    //3


            while(len>1)                        //4
            {
                    sum+=*cbuf++;
                    len-=2;
            }
            if(len)                               //5
            {
                    sum+=*(unsigned char *)cbuf;
            }


            while(sum>>16)     //6
            {
                    sum=(sum>>16)+(sum&0xffff);
            }
    return (~sum);     //7
    }


    1.定义检验和变量,32位的 int型

    2.定义接受的字符,16位的short int 型,因为校验和就是一个基于16位的反码计算原理,计算机制为1的补码,对称的系统,ffff和0000分别为-0和+0,afff和7ffff分别是-32767和+32767,这与我们平时遇到的2的补码机制不同

    为什么要基于1的补码并进行反码求和机制?

    因为考虑到大端和小端字节序的问题,在不同架构的处理器的保存方式不同,如果用常规的加法,接收端和发送端可能由于处理器架构不同会出现校验和的不同,但用反码求和,不管是大端还是小端,最终得到的结果都一样,不会影响到最终的校验和。

    3.将8位的char类型转换成16位的short型 

    4.进行校验和的加法,都是基于16位的,每次进行16位移动

    5.若len为奇数,要加上最后的8bit,也就是最后一个字节

    6.将得到的校验和右移16位,这里是无符号的,也就是算术右移,后面一句也就是将sum的高16位和低16位做加法,这就是1的补码机制,最高位进位加到最低位。

    7.最后返回校验和,是一个二进制的反码




    展开全文
  • 前端校验和后台校验

    千次阅读 2018-03-30 15:14:16
    前端校验和后台校验我们在做项目的时候经常会遇到数据需要校验的情况,这时我们就需要通过前端和后台的校验来完善我们的数据的准确性。前端校验:我们可以通过我们自己来编写js来校验也可以通过在网上找插件来完成...

    前端校验和后台校验

    我们在做项目的时候经常会遇到数据需要校验的情况,这时我们就需要通过前端和后台的校验来完善我们的数据的准确性。

    前端校验:

    我们可以通过我们自己来编写js来校验也可以通过在网上找插件来完成前端校验

    采用的插件是:

    1、Jquery.js

    2、Jquery.validate.min.js

    3、messages_zh.js

    这个插件特别的好用,只用通过几个属性就可以来完成我们的前端校验

    可以通过http://www.runoob.com/jquery/jquery-plugin-validate.html这个网站能详细解释这个插件的用法

    后台验证:

    后台验证我是用的是注解验证,通过src303来完成的

    实体类代码:

     

    然后是conteroller代码:

     

    具体操作方式可以参考https://www.ibm.com/developerworks/cn/java/j-lo-jsr303/index.html

    展开全文
  • 校验和计算

    2019-02-25 10:05:36
    在数据传输过程中,经常用到的校验方式包括校验和,CRC校验,奇偶校验,LRC校验,格雷码校验,异或校验等。 如下代码可实现校验和,输入N个数字,以16进制的888结尾,得到校验和。 #include <stdio.h>...

    在数据传输过程中,经常用到的校验方式包括校验和,CRC校验,奇偶校验,LRC校验,格雷码校验,异或校验等。
    如下代码可实现校验和,输入N个数字,以16进制的888结尾,得到校验和。

    #include <stdio.h>
    
    int main(void)
    {
    	int n=0, sum=0; 
    	scanf("%x", &n);
    	while(n != 0x888)
    	{
    		sum += n;
    		scanf("%x", &n);
    	}
    	printf("校验和: %x", sum%256);
    	return 0;
    }
    
    展开全文
  • tcp 校验和

    2019-03-19 22:26:36
    1.tcp校验和 接收方在接收数据时检验数据包在传输过程中是否改变的验证方式 发送方将数据体取反码,检验和也取反码相加,高于4bit的和低于4bit的相加,得到的就是校验和,保存在tcp头的校验和字段, 接收方将数据...

    1.tcp校验和   接收方在接收数据时检验数据包在传输过程中是否改变的验证方式

    发送方将数据体取反码,检验和也取反码相加,高于4bit的和低于4bit的相加,得到的就是校验和,保存在tcp头的校验和字段,

    接收方将数据取反码,校验和取反码,相加为1111则数据包没有异常,否则丢弃数据包。

    参考此文

    2.为什么Internet协议: IP, ICMP, IGMP, UDP, TCP 收到有检验和错误的分组都仅作丢弃处理?

    不丢弃如何恢复数据呢?不恢复数据通知发送方重发?接收方也不确定是哪里出错。所以做丢弃处理。

    tcp有重发机制,udp本来就是不可靠的传输层协议。只有链路层的CRC协议会尝试恢复数据分组。

    参考知乎文章

    展开全文
  • udp校验和

    千次阅读 2019-03-05 12:10:23
    4、校验和 UDP用户数据报首部和伪首部: 计算校验和时,添加12字节的伪首部。 发送: 1、把全0放入校验和字段; 2、把伪首部以及udp用户数据报看成16位字符串接起来,若数据部分为偶数,填入全0字段(实际不发送)...
  • 首先,关于IP和TCP校验和的概念 IP首部的校验和相对简单,在不是特殊类型包的情况下,IP首部长度为20字节,IP校验和就是计算这20位的校验和;TCP校验和,TCP校验和不仅要校验20位的TCP首部与TCP首部后面的数据,...
  • 异或校验和

    千次阅读 2019-11-21 18:11:18
    异或校验和 异或校验和算法: #include "stdio.h" void main() { int i; //任意10个数值,也可以不是8位 unsigned char data[10]={0x12,0x21,0x1A,0xB1,0xC1,0xEB,0xDF,0xCA,0xF6,0xDD}; unsigned char out;//用于...
  • ip校验和 及 udp校验和 的计算方法

    万次阅读 2016-10-20 13:05:05
    一、ip校验和的计算: 计算方法: 1. ip包头(共20个字节)按照每16个bit作为一个值依次进行相加 2. 将计算结果的进位加到低16位上 3. 将结果取反 ip包头的内存内容 eg: 45 00 00 20 0F B8 00 00 80 11 ...
  •   循环冗余校验(Cyclic Redundancy Check,CRC)是数据通讯中很常用的一种校验方式。尤其是在嵌入式软件开发中,经常要用到 CRC 算法对各种数据进行校验。...其中被除数是需要计算校验和的信息数...
  • 校验和计算方法

    千次阅读 2019-09-03 17:04:52
     [1]校验和覆盖的内容:  IP校验和:IP首部。  ICMP校验和:ICMP首部+ICMP数据;  UDP、TCP校验和:首部+数据+12个字节伪首部(源IP地址、目的IP地址、协议、TCP/UDP包长)。 2.计算校验和的步骤:  [1]把...
  • UDP校验和计算

    万次阅读 热门讨论 2018-08-12 21:41:08
    四、UDP校验和计算的C语言实现及抓包验证 一、UDP概述 UDP是User Datagram Protocol的简称,中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,...
  • TCP校验和的原理和实现

    万次阅读 多人点赞 2013-09-24 18:29:58
    TCP校验和是一个端到端的校验和,由发送端计算,然后由接收端验证。其目的是为了发现TCP首部和数据在发送端到 接收端之间发生的任何改动。如果接收方检测到校验和有差错,则TCP段会被悄悄丢弃。 TCP校验和覆盖TCP...
  • Tcp、Udp 校验和与ip校验和的概念

    万次阅读 2014-12-03 20:48:25
    1.ip、tcp、udp的校验和计算原理 1.1 ip校验和的计算 Ip校验是针对ip头部的,即仅校验ip头部,而对于ip数据部分的校验,则交由相应的四次协议来保证, ip 头部中校验和字段为16bit。   计算原理如下: 1.把...
  • 校验和概念

    2015-04-20 10:33:04
    检验和(checksum),在数据处理和数据通信领域中,用于校验目的地一组数据...如果校验和的数值超过十六进制的FF,也就是255. 就要求其补码作为校验和。通常用来在通信中,尤其是远距离通信中保证数据的完整性和准确性。
  • tcp校验和

    千次阅读 2016-03-10 22:51:33
    TCP的校验和是必需的,而UDP的校验和是可选的//共12字节 typedef struct { unsigned long saddr; //源IP地址 unsigned long daddr; //目的IP地址 unsigned char mbz; // mbz = must be zero, 用于
  • 异或校验和CRC16 校验源码分享

    千次阅读 2018-01-19 19:05:52
    我们在项目中,经常遇到上位机和设备进行通讯的情况,很多通讯...异或校验和CRC16校验是其中的两种。  异或校验代码如下:  //异或校验  private string xorCheack(string str)  {  //获取s应字节数组  
  • 如何计算icmp校验和

    万次阅读 热门讨论 2018-05-31 10:34:45
    前几天看到一个大佬写的icmp远控后门,对icmp协议充满了激情,实现整个程序首先要了解imcp包请求与回复,在整个请求中最先就涉及到icmp包的构造,然而本章简要讨论校验和,然后将详细通过python编程计算校验和。...
  • linux C累加和校验和CRC循环冗余校验的实验报告 摘要 在计算机中,当数据由发送方传至接收方时,需要进行数据校验。数据校验是为了保证数据的完整性而进行的一种验证操作。通常用一种指定的算法对原始数据计算出一个...
  • c语言实现CRC校验和

    千次阅读 2019-01-20 18:07:30
    最近在摄像头采集的数据清晰度上需要加强,则在每一帧传输的数据包后边加了CRC校验和。CRC校验和有16位的,也有32位的。至于CRC校验和算法原理,我是在百度上学习的,其实网上有很多这种资料。简单的说就是CRC校验和...
  • 校验和计算原理

    万次阅读 多人点赞 2016-09-29 17:59:40
    校验和思路首先,IP、ICMP、UDP和TCP报文头都有检验和字段,大小都是16bit,算法基本上也是一样的。在发送数据时,为了计算数据包的检验和。应该按如下步骤:1、把校验和字段设置为0;2、把需要校验的数据看成以16位...
  • 网际校验和算法

    千次阅读 2019-01-15 18:23:51
    网际校验和算法   反码算数运算:两个数进行二进制反码求和的运算很简单。它的规则是从低位到高位逐列进行计算。0和0相加是0,0和1相加是1,1和1相加是0但要产生一个进位1,加到下一列。如果最高位相加后产生进位...
  • --------------------------------------------- -- 时间:2019-01-28 -- 创建人:Ruo_Xiao ...--------------------------------------------- 一、目的 对数据传输的正确与否进行校验。...1、奇校验:让主体...
  • ip校验和及udp校验和的计算方法

    千次阅读 2017-03-03 22:08:59
    一、ip校验和的计算:  计算方法:  1. ip包头(共20个字节)按照每16个bit作为一个值依次进行相加  2. 将计算结果的进位加到低16位上  3. 将结果取反  ip包头的内存内容  eg:  45 00 00 20 0F B8 00 00 ...
  • 校验和算法

    千次阅读 2014-08-13 00:48:27
    经常看计算机网络相关的书时,每次看到关于IP或者是UDP报头校验和时,都是一笑而过,以为相当简单的东西,不就是16bit数据的相加吗!最近在学习Ping命令的源待时,看到里面有关于校验和的算法。一头雾水,后来查找...
  • 签名校验和完整性校验主要是针对于二次打包的检测防范措施,如果没有签名校验和完整性校验功能,应用可能被恶意攻击者二次打包,被盗版的风险大大增加,同时也可能进行任意代码修改。 针对上面的问题,这章我们就对...
  • CRC校验和C语言实现

    千次阅读 2019-06-08 18:16:08
    1.参考资料 ...本文首先参考了链接2的博客,上面讲的很详细,从奇偶校验、累加和校验、模2运算到CRC校验和优化。并提供了相应的参考链接,很值得参考。如果要深入理解算法的实现原理需要参考链接1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,694
精华内容 19,477
关键字:

校验和