java 如何计算校验和,比如如下这段代码如何修改?

java 如何计算校验和,比如如下这段代码如何修改?,第1张

您好,1、 编写一个计算机程序用来计算一个文件的16位效验和。最快速的方法是用一个32位的整数来存放这个和。记住要处理进位(例如,超过16位的那些位),把它们加到效验和中。

要求:1)以命令行形式运行:check_sum infile

其中check_sum为程序名,infile为输入数据文件名。

2)输出:数据文件的效验和

附:效验和(checksum)

 原理:把要发送的数据看成二进制整数序列,并计算他们的和。若数据字节长度为奇数,则在数据尾部补一个字节的0以凑成偶数。

 例子:16位效验和计算,下图表明一个小的字符串的16位效验和的计算。

为了计算效验和,发送计算机把每对字符当成16位整数处理并计算效验和。如果效验和大于16位,那么把进位一起加到最后的效验和中。

以下代码出至goomoo(古木)的例程里! 主程序代码如下: .版本 2

.支持库 dp1.程序集 窗口程序集1.子程序 __启动窗口_创建完毕

.局部变量 文件数据, 字节集

.局部变量 校验数据, 字节集

.局部变量 临时数据数组, 字节集, , "0".如果真 (是否为调试版 () = 假) ' 此处加一判断,以方便调试程序

文件数据 = 读入文件 (取执行文件名 ())

临时数据数组 = 分割字节集 (文件数据, 到字节集 (#分割符), )

.如果真 (取数组成员数 (临时数据数组) < 3) ' 分割后应该有三块

信息框 (“程序已被非法修改或感染病毒!”, #错误图标, “警告”)

结束 ()

.如果真结束

' 把前面两块加上分割符拼接成完整的EXE文件

文件数据 = 临时数据数组 [1] + 到字节集 (#分割符) + 临时数据数组 [2]

校验数据 = 解压数据 (临时数据数组 [3]) ' 第三块为校验数据,已被压缩,所以先解压一下

.如果真 (取数据摘要 (文件数据) ≠ 到文本 (校验数据))

信息框 (“程序已被非法修改或感染病毒!”, #错误图标, “警告”)

结束 ()

.如果真结束.如果真结束 添加效验工具代码: .版本 2

.支持库 dp1.程序集 窗口程序集1.子程序 _按钮浏览_被单击.如果真 (通用对话框1.打开 ())

编辑框文件名.内容 = 通用对话框1.文件名

.如果真结束

.子程序 _按钮添加校验_被单击

.局部变量 文件数据, 字节集

.局部变量 校验数据, 字节集.如果真 (编辑框文件名.内容 = “” 或 取文件尺寸 (编辑框文件名.内容) ≤ 0)

信息框 (“指定的文件不正确!”, #错误图标, )

返回 ()

.如果真结束

文件数据 = 读入文件 (编辑框文件名.内容)

校验数据 = 压缩数据 (到字节集 (取数据摘要 (文件数据)))

文件数据 = 文件数据 + 到字节集 (#分割符) + 校验数据

.如果 (写到文件 (编辑框文件名.内容, 文件数据))

信息框 (“添加自校验信息成功!”, #信息图标, )

.否则

信息框 (“改写文件失败!”, #错误图标, )

.如果结束 你也可以加我QQ我把源码发给你。。

在启动子程序下面加上你的验证代码

编程的时候我觉得依赖最多的就是模块,各种各样的模块,提供了丰富的命令,有的模块在用的时候我们发现,会自动输出一些文字,或者用的时候d出需要登录或者注册之类的东西,重点就在模块的_启动子程序()下面,易语言在初始化的时候会首先调用这个子程序,一般的验证都是加在这里了,比如我们让模块在被调试的时候输出一些自己的宣传语


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11841332.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存