static int icmp_cksum(unsigned char *data, int len) { int nleft = len; uint16_t *data_tmp = (uint16_t *)data; int sum = 0; uint16_t tmp = 0; while(nle ...
分类:
其他好文 时间:
2016-11-12 11:49:42
阅读次数:
188
(1)四位16进制数分别相加(2)相加的结果去掉进位,保留四位16进制数(3)保留的四位16进制数+进位(4)得到的结果转换成二进制(5)取反(6)再转换成16进制数具体编码如下:intchecksum(unsignedlong*buffer,intsize){unsignedlongcksum=0;while(size>1){cksum+=*buffer..
分类:
其他好文 时间:
2016-10-13 15:15:49
阅读次数:
109
SHORTchecksum(USHORT*buffer,intsize){unsignedlongcksum=0;while(size>1){cksum+=*buffer++;size-=sizeof(USHORT);}if(size){cksum+=*(UCHAR*)buffer;}cksum=(cksum>>16)+(cksum&0xffff);cksum+=(cksum>>16);return(USHORT)(~cksum);}IP头:4500003189F50..
分类:
其他好文 时间:
2016-10-11 01:08:00
阅读次数:
186
IP首部校验和的计算方法:算法:SHORTchecksum(USHORT*buffer,intsize){unsignedlongcksum=0;while(size>1){cksum+=*buffer++;size-=sizeof(USHORT);}if(size){cksum+=*(UCHAR*)buffer;}cksum=(cksum>>16)+(cksum&0xffff);cksum+=(cksum>>16);return(USHORT)..
分类:
其他好文 时间:
2016-10-11 00:57:07
阅读次数:
161
方法1、通过系统变量echo$RANDOMecho$RANDOM|md5sum|cut-c1-8方法2、opensslrand-base648opensslrand-base648|cut-c1-8方法3、通过时间获得随机数date+%s%Ndate+%s%N|md5sum方法4、head/dev/urandom|cksumhead/dev/urandom|cksum|md5sum方法5、cat/proc/sys/kernel/random/uuid..
分类:
系统相关 时间:
2016-10-10 16:58:00
阅读次数:
253
Linux 命令大全 1、文件管理 cat chattr chgrp chmod chown cksum cmp diff diffstat file find git gitview indent cut ln less locate lsattr mattrib mc mdel mdir mkt ...
分类:
系统相关 时间:
2016-05-13 17:00:29
阅读次数:
267
cksum命令常用工具命令cksum命令是检查文件的CRC是否正确,确保文件从一个系统传输到另一个系统的过程中不被损坏。这种方法要求校验和在源系统中被计算出来,在目的系统中又被计算一次,两个数字进行比较,如果校验和相等,则该文件被认为是正确传输了。注意:CRC是指一种排错..
分类:
其他好文 时间:
2015-08-19 17:33:00
阅读次数:
211
文件校验和匹配
要是你怀疑可能有很多文件具有相同的内文,而是用cmp或diff进行比较所有横队的比较,导致所花费的时间会随着文件数目增长成次方的增长.
这是可以使用file checksum(文件校验和),取得近似线性的性能.有很多工具可用来计算文件与字符串的校验和,包括sum,cksum,以及checksum,消息摘要工具md5与md5sum,安全性散列算法工具sha,shalsum,...
分类:
系统相关 时间:
2015-07-14 15:47:33
阅读次数:
237
#cat111.sh#!/bin/bashfunctionrand(){min=$1max=$(($2-$min+1))num=$(cat/dev/urandom|head-n10|cksum|awk-F‘‘‘{print$1}‘)echo$(($num%$max+$min))}rnd=$(rand133)echo$rndexit0#cat222.sh#!/bin/bashfunctionrand(){min=$1max=$(($2-$min+1))num=$(cat/dev/urandom|head-n10..
分类:
其他好文 时间:
2015-01-13 20:03:12
阅读次数:
167
Linux 命令大全 1、文件管理 cat chattr chgrp chmod chown cksum cmp diff diffstat file find git gitview indent cut ln less locate lsattr mattrib mc mdel mdir mktemp more mmove mread mren mtools mtool...
分类:
系统相关 时间:
2014-08-17 17:13:03
阅读次数:
541