- 浏览: 897344 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (498)
- J2EE (52)
- 数据库 (17)
- java基础 (43)
- web技术 (19)
- 程序设计 (6)
- 操作系统 (18)
- IT资讯 (7)
- 我的IT生活 (12)
- 学习笔记 (9)
- Jquery (25)
- JavaScript (18)
- spring (40)
- Hibernate (12)
- Struts (10)
- YUI (2)
- Extjs (22)
- .net (0)
- Eclipse (10)
- 社会主义 (2)
- 服务器 (9)
- CSS (8)
- 网络安全 (16)
- 版本控制 (9)
- PHP (2)
- Oracle (42)
- SQL server (1)
- Mysql (11)
- 项目管理 (3)
- 开发工具使用 (10)
- SQL语句 (7)
- Perl (0)
- Shell (6)
- 漏洞 (4)
- ibatis (5)
- hacker (2)
- SQL注入 (6)
- Hacker工具 (2)
- 入侵和渗透 (7)
- 插件/组件 (2)
- 最爱开源 (5)
- 常用软件 (2)
- DOS (1)
- HTML (2)
- Android (9)
- CMS (1)
- portal (8)
- Linux (7)
- OSGI (1)
- Mina (5)
- maven (2)
- hadoop (7)
- twitter storm (2)
- sap hana (0)
- OAuth (0)
- RESTful (1)
- Nginx (4)
- flex (1)
- Dubbo (1)
- redis (1)
- springMVC (1)
- node.js (1)
- solr (2)
- Flume (1)
- MongoDB (2)
- ElasticSearch (1)
最新评论
-
M_drm:
请问要怎么设置浏览器才不报没权限呢?
用JS在页面调用本地可执行文件的方法(ACTIVEX) -
Alexniver:
官方文档。When importing data into I ...
mysql导入数据过慢 解决方法 -
camelwoo:
我记得 Criteria 可以做连接查询与子查询,也可以做分页 ...
Hibernate总结篇二 -
zhenglongfei:
楼主如果SubKeyName 这个节点不存在,怎么办??怎么用 ...
Java操作注册表 -
yxx676229549:
用log4j 2 了
logback
java计算校验和:对“消息头+会话头+事务头+操作信息”按32位异或,对异或结果取反后的值为校验和。
16进制表示的16位或32位整数,高8位位组在前,低8位位组在后。举个例子:
int n = 148; // 转换成4字节,16进制
int hi = n >> 8 ; //高16位
int lo = n & 0x00ff; //低16位
String hig = Integer.toHexString(hi); //长度不足,再补0
String low = Integer.toHexString(lo); // 16进制
----------------------------------------------------------------
这样148按要求就转换成了0094
/** * 计算校验和<br> * <p>对“消息头+会话头+事务头+操作信息”按32位异或,对异或结果取反后的值为校验和。 * @param msg * @return */ private String calcCheckSum(String msg) { byte[] arr = msg.getBytes(); byte[] res = new byte[4]; for (int i = 0; i < arr.length; i += 4) { res[0] ^= arr[i]; res[1] ^= arr[i + 1]; res[2] ^= arr[i + 2]; res[3] ^= arr[i + 3]; } res[0] = (byte) ~res[0]; res[1] = (byte) ~res[1]; res[2] = (byte) ~res[2]; res[3] = (byte) ~res[3]; String resStr = ""; for (int i = 0; i < 4; i++) { resStr = resStr + byte2hex(res[i]); } return resStr; } /** * 将单字节转成16进制<br> * @param b * @return */ private String byte2hex(byte b) { StringBuffer buf = new StringBuffer(); char[] hexChars = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; int high = ((b & 0xf0) >> 4); int low = (b & 0x0f); buf.append(hexChars[high]); buf.append(hexChars[low]); return buf.toString(); }
16进制表示的16位或32位整数,高8位位组在前,低8位位组在后。举个例子:
int n = 148; // 转换成4字节,16进制
int hi = n >> 8 ; //高16位
int lo = n & 0x00ff; //低16位
String hig = Integer.toHexString(hi); //长度不足,再补0
String low = Integer.toHexString(lo); // 16进制
----------------------------------------------------------------
这样148按要求就转换成了0094
发表评论
-
List对象排序通用方法
2014-07-29 09:21 993在数据库中查出来的列 ... -
EJBCA环境搭建
2014-04-03 17:31 1048EJBCA开发者 http://wiki.ejbca.org/ ... -
Java & Eclipse 相关内容杂记及技巧
2013-11-26 22:42 10111、Eclipse 的启动画面 A、加启动参数。如: ... -
一套貌似很牛B的Nutch相关框架视频教程
2013-10-24 09:16 1064国内首套免费的《Nutch相关框架视频教程》(1-20) ht ... -
HTTP文件断点上传
2013-05-14 00:10 990HTTP文件断点上传 http://www.cnblogs.c ... -
使用 Eclipse Memory Analyzer 检测内存泄漏问题
2013-05-05 19:01 820转:http://blog.csdn.net/moneyice ... -
memcached实现多个tomcat 共享一个session(转)
2013-04-23 09:49 824http://dqm926.iteye.com/blog/18 ... -
Java字符编码根本原理
2013-04-03 16:33 828Java开发中,常常会遇到乱码的问题,一旦遇到这种问题,常常就 ... -
StringUtils常用方法说明
2013-01-28 09:21 966http://www.iteye.com/topic/1128 ... -
logback
2013-01-23 09:40 1229http://yuri-liuyu.iteye.com/blo ... -
中文排序要注意的问题
2012-12-08 10:10 1113遇到了中文排序问题,比如想用拼音排序, String[] ... -
位运算
2012-11-21 17:50 921程序中的所有数在计算 ... -
HashMap的2中遍历方式比较
2012-11-20 11:47 961http://smallnetvisitor.iteye.co ... -
SVN如何强制在提交时要求添加注释说明(windows平台)
2012-11-06 18:00 3587在项目库的hooks目录下,添加一个pre-commit.ba ... -
Java虚拟机读写其他进程的数据
2012-08-22 13:07 1094Java虚拟机读写其他进程的数据 http://axiang ... -
java中对Byte字符数组定长截取的方法
2012-08-14 16:33 2069今天在在处理从网络上接收到的字符串,因为是从后台C语言过来的一 ... -
CAS单点登录配置笔记
2012-08-14 16:31 1049转:http://blog.csdn.net/lifvc/ar ... -
hadoop安装与配置
2012-08-10 11:46 1316一、安装准备 1、下载hadoop 0.21.0,地址:ht ... -
集中各种好网站
2012-08-09 16:41 9331.开源中国---在线工具: http://www.oscto ... -
人脸检测算法库 jViolajones 使用示例代码
2012-08-09 16:32 1645jViolajones是人脸检测算法Viola-Jones的一 ...
相关推荐
写通信协议的估计会经常用到,将消息头+会话头+事务头+操作消息按32位异或,即4字节一组,依次异或,最后结果取反。转为16进制即为检验和.这是一个计算校验和的小工具.
CRC计算器、和校验、异或校验、异或取反校验
异或校验工具。十六进制异或值计算。。。。。。。。。。
For ‘Message header + Dialog header + Transaction header + Operation information’, perform XOR by 32 bits, and take the inverse of the XOR result as the checksum
整理的校验值计算工具(包括异或+CRC+和校验)
按位异或校验和值计算,每一位十六位之间需要用空格隔开
异或校验和工具,用于计算十六进制数据的异或校验和。
网上下载的,转载一下,方便平时通信测试时做的一个计算小工具。献上给需要的人。
可进行十六进制字符串按位异或运算,就是输入十六进制数,每个十六进制数间输入空格,然后点输出即可得到结果
用labview写的,用于字符串ascii码异或和校验,文件中转有dll库 可以到http://www.ip33.com/bcc.html这个网址验证是否正确
@大司命。Tags:BCC校验异或校验。
异或校验算法工具,输出异或校验的结果。
按位与_按位或_按位异或_运算的讲解,自我感觉不错!
校验码= (【数据包编号】+【时间戳】+【功能代码】+【网关代码】+【数据 长度】+【数据信息】6 部分内容异或后,取非)
。