C++计算ICMP头的校验和实例
本文实例讲述了C++计算ICMP头的校验和的方法,分享给大家供大家参考。具体实现代码如下:
USHORT checksum(USHORT* buff, int nSize)
{
unsigned long cksum=0;
//将数据以字为单位加到cksum
while (nSize > 1)
{
cksum += *buff++;
nSize -= sizeof(USHORT);
}
//如果为奇数, 将最后一个字扩展到双字,再累加
if (nSize)
{
cksum += *(UCHAR*)buff;
}
//将cksum的高16位与低16位相加,取反后得到校验和
cksum = (cksum>>16) + (cksum&&0xffff);
cksum += (cksum>>16);
return (USHORT)(~cksum);
}
希望本文所述对大家的C++程序设计有所帮助。
相关推荐
-
微信公众平台消息接口校验与消息接口响应实例
本文实例讲述了微信公众平台消息接口校验与消息接口响应的方法.分享给大家供大家参考.具体分析如下: 开发微信公众平台消息接口过程中,我们首先需要验证消息接口的有效性,验证通过后,才可以进行其他开发,首先我们来看一下微信公众平台给我的 PHP SDK. 1.需要设置一个 TOKEN 信息,代码如下: 复制代码 代码如下: efine("TOKEN", "weixin"); 这个 TOKEN 信息可以由开发者自行设定. 2.有个 wechatCallbackapiTest
-
PHP实现通过Luhn算法校验信用卡卡号是否有效
本文实例讲述了PHP实现通过Luhn算法校验信用卡卡号是否有效的方法.分享给大家供大家参考.具体实现方法如下: $numbers = "49927398716 49927398717 1234567812345678 1234567812345670"; foreach (split(' ', $numbers) as $n) echo "$n is ", luhnTest($n) ? 'valid' : 'not valid', '</br>'; fu
-
零基础学习AJAX之制作自动校验的表单
传统网页在注册时检测用户名是否被占用,传统的校验显然缓慢笨拙. 当ajax出现后,这种体验有了很大的改观,因为在用户填写表单时,签名的表单项已经发送给了服务器,然后根据用户填写好的内容进行数据查询.在查询号无需页面刷新就自动给了提示.类似这样的应用大大的提高了用户的体验,本节简单介绍自动校验表单制作方法.从原理上分析ajax的作用. 1.搭建框架 首先为html框架 复制代码 代码如下: <form name="register"> <p>
-
Codeigniter校验ip地址的方法
本文实例讲述了Codeigniter校验ip地址的方法.分享给大家供大家参考.具体分析如下: 这里演示了Codeigniter如何获取用户ip地址,同时校验ip地址的有效性 获取用户ip: $this->input->ip_address(); //如果ip获取失败,则返回 0.0.0.0,我们也可以使用下面的代码校验ip的有效性 $ip = "192.168.1.1"; if (!$this->input->valid_ip($ip)) { echo &quo
-
详细介绍C#之文件校验工具的开发及问题
.加密算法的熟悉 目前校验文件使用最多的是MD值和SHA值,不外乎有些使用CRC,前段时间微软发布了VisualStudio正式版,win镜像,微软官方给出的校验方式都是校验文件的SHA值. C#进行MD加密与SHA加密的实现总结在这里 .文件的加密计算 知道了如何进行普通字符串的加密还不够,我们要校验的文件的MD值或SHA值,接下来熟悉如何获取文件的MD值和SHA值 获取文件的MD值 public static string GetFileMD(string filePath)
-
Symfony数据校验方法实例分析
本文实例讲述了Symfony数据校验方法.分享给大家供大家参考.具体分析如下: 校验在web应用程序中是一个常见的任务.数据输入到表单需要被校验.数据在被写入数据库之前或者传入一个webservice时也需要被校验. Symfony2 配备了一个Validator 组件,它让校验工作变得简单易懂.该组件是基于JSR303 Bean校验规范.一个Java规范用在PHP中. 基本验证 理解校验的最好方法是看它的表现.首先,假设你已经创建了一个用于你应用程序某个地方的PHP对象. 复制代码 代码如下:
-
php校验表单检测字段是否为空的方法
本文实例讲述了php校验表单检测字段是否为空的方法.分享给大家供大家参考.具体如下: php校验表单,检测字段是否为空,当表单中有未填写的字段,则会显示错误信息. <html> <body> <form METHOD="POST" ACTION="ErrorCheck.php"> <h1>Contact Information</h1> <label>Nickname:</label>
-
python和shell实现的校验IP地址合法性脚本分享
一.python校验IP地址合法性 执行效果: python代码: 复制代码 代码如下: [root@yang python]# vi check_ip.py #!/usr/bin/python import os,sys def check_ip(ipaddr): import sys addr=ipaddr.strip().split('.') #切割IP地址为一个列表 #print addr if len(addr) !=
-
JavaScript实现信用卡校验方法
本文实例讲述了JavaScript实现信用卡校验方法.分享给大家供大家参考.具体分析如下: 这里JavaScript版的信用卡校验代码,采用了Luhn算法 function isValidCreditCard(type, ccnum) { if (type == "Visa") { // Visa: length 16, prefix 4, dashes optional. var re = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/; } else if (typ
-
C++计算ICMP头的校验和实例
本文实例讲述了C++计算ICMP头的校验和的方法,分享给大家供大家参考.具体实现代码如下: 复制代码 代码如下: USHORT checksum(USHORT* buff, int nSize) { unsigned long cksum=0; //将数据以字为单位加到cksum while (nSize > 1) { cksum += *buff++; nSize -= sizeof(USHORT); }
-
python 计算文件的md5值实例
较小文件处理方法: import hashlib import os def get_md5_01(file_path): md5 = None if os.path.isfile(file_path): f = open(file_path,'rb') md5_obj = hashlib.md5() md5_obj.update(f.read()) hash_code = md5_obj.hexdigest() f.close() md5 = str(hash_code).lower() re
-
IOS中计算缓存文件的大小判断实例详解
IOS中计算缓存文件的大小判断实例详解 IOS中计算缓存文件的大小判断,在这里分享一下自己的心得,希望和大家一起分享技术,如果有什么不足,还请大家指正.写出这篇目的,就是希望大家一起成长,我也相信技术之间没有高低,只有互补,只有分享,才能使彼此更加成长. 实例代码: //获取缓存文件路径 -(NSString *)getCachesPath{ // 获取Caches目录路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCaches
-
vue-resource拦截器设置头信息的实例
使用vue-resource,设置头信息: Vue.http.interceptors.push((request, next) => { request.headers.set('Authorization', token) console.log(request.headers) next(response => { console.log(response.status) return response }) }) 以上这篇vue-resource拦截器设置头信息的实例就是小编分享给大家
-
C# listview 点击列头排序的实例
实例如下: #region 自定义变量 int currentCol = -1; bool sort; #endregion//列头点击事件 private void lvw_ColumnClick(object sender, ColumnClickEventArgs e) { string Asc = ((char)0x25bc).ToString().PadLeft(4, ' '); string Des = ((char)0x25b2).ToString().PadLeft(4, ' '
-
php下载文件,添加响应头的简单实例
如下所示: //下载,添加响应头信息 header('Content-type:application/octet-stream'); header('Content-Disposition:attachment;filename="'.basename($file).'"'); header('Content-Length:'.filesize($file)); readfile($file); 以上就是小编为大家带来的php下载文件,添加响应头的简单实例的全部内容了,希望对大家有所
-
python 读取DICOM头文件的实例
用dicompyler软件打开dicom图像,头文件如图所示: 当然也可以直接读取: ds = dicom.read_file('H:\Data\data\\21662\\2.16.840.1.113662.2.0.105002416.1489146183.701\CT\\CT#0#21662#E7AB693D.dcm') print ds >> (0008, 0008) Image Type CS: ['ORIGINAL', 'SECONDARY', 'AXIAL'] (0008, 0016
-
python计算无向图节点度的实例代码
废话不多说了,直接上代码吧: #Copyright (c)2017, 东北大学软件学院学生 # All rightsreserved #文件名称:a.py # 作 者:孔云 #问题描述:统计图中的每个节点的度,并生成度序列 #问题分析:利用networkx.代码如下: import networkx as nx G=nx.random_graphs.barabasi_albert_graph(1000,3)#生成n=1000,m=3的无标度的图 print ("某个节点的度:",G.d
-
Python 简单计算要求形状面积的实例
有个Q友问怎么写个程序能按照要求输入,再输出对应形状的面积? 我大概写了几行,没有考虑输出异常,重点想记录下 int 的接收,如下图 知识点就两个 1, 长方形面积 & 三角形面积,因为要从终端接收用户的多个参数输入,所以用了map(int, raw_input().split()) 这种方式 2. 圆面积只想保留小数点后两位,就用到了 %.2f 来接收 #!/usr/bin/python #-*-coding:utf-8 -*- name = raw_input("Please inp
-
python计算二维矩形IOU实例
计算交并比:交的面积除以并的面积. 要求矩形框的长和宽应该平行于图片框.不然不能用这样的公式计算. 原理,从一维上来理解:两条红线的距离之和减去黑色线之间的距离就是相交的距离.两条红线之和很容易算,两条黑线之间的距离就是最小的起点到到最大的末点,最小的起点好算,最大的末点就是两点加上各自长度之后的最大值.这就算出了一维的情况,二维的情况一样,计算二次而已. def iou(rect1,rect2): ''' 计算两个矩形的交并比 :param rect1:第一个矩形框.表示为x,y,w,h,其中
随机推荐
- Mootools 1.2教程 滚动条(Slider)
- oracle数据库中sql%notfound的用法详解
- log4j2异步Logger(详解)
- 一篇不错的Python入门教程
- 用Python的线程来解决生产者消费问题的示例
- Lucene.Net实现搜索结果分类统计功能(中小型网站)
- php的一个简单加密解密代码
- MySql状态查看方法 MySql如何查看连接数和状态?
- Android编程实现自动调整TextView字体大小以适应文字长度的方法
- 5款Ajax 文件上传控件
- javascript中常见的3种信息提示框(alert,prompt,confirm)
- 长期损害硬盘的六款常用软件
- 使用XSD校验Mybatis的SqlMapper配置文件的方法(1)
- Android快速分析apk工具aapt的使用教程
- jQuery用noConflict代替$的实现方法
- js 获取radio按钮值的实例
- C#进阶系列 WebApi身份认证解决方案推荐:Basic基础认证
- php目录管理函数小结
- 在ASP.NET 2.0中操作数据之五十八:在程序启动阶段缓存数据
- Android开源组件小结