标签: checksum

我应该如何在C#中计算文件哈希值(md5和SHA1)

这是我的第一个C#项目,我几乎是新手.我使用openfiledialoge选择文件并通过GetFullPath方法获取文件路径并将其存储在一个名为fpath的变量中.我需要计算其路径存储在fpath变量中的文件的哈希值.我认为可以通过GetHashCode来完成.任何人都可以给我一个片段或一个小指南吗?

.net c# hash checksum

12
推荐指数
3
解决办法
3万
查看次数

在Dockerfile中校验和下载的典型方法?

我正在创建一个Dockerfile,可以从源代码下载,构建和安装node.js. 我想在构建之前对下载进行校验和,如果校验和失败则停止或退出Dockerfile:

# officially supported ubuntu
FROM ubuntu:12.04

# SETUP
RUN cd /tmp
RUN apt-get update -y
RUN apt-get install wget build-essential automake -y
RUN wget http://nodejs.org/dist/latest/node-v0.10.26.tar.gz
RUN wget http://nodejs.org/dist/latest/SHASUMS256.txt

# RUN checksum: exit on fail, continue on success
??? how ???

# INSTALL
RUN tar -xvf node-v0.10.26.tar.gz && cd node-v0.10.26
RUN ./configure && make && make install

# CLEANUP
apt-get autoremove --purge wget build-essential automake -y
Run Code Online (Sandbox Code Playgroud)

Docker社区是否采用了"最佳实践"方式来实现这一目标?

checksum docker

12
推荐指数
3
解决办法
4659
查看次数

带有校验和的Artifactory上传

如果您将工件上载到Artifactory并且不提供校验和,则会发出以下警告:

截图,Artifactory,Fix Checksum

你如何上传curl并包含校验和?

curl checksum artifactory

12
推荐指数
2
解决办法
5924
查看次数

EAN 8:如何计算校验和数字?

我需要以编程方式创建EAN 8条形码.我搜索算法来计算校验和数字.

checksum barcode

11
推荐指数
3
解决办法
3万
查看次数

一个合适的散列函数来检测数据损坏/检查数据完整性?

什么是用于检测损坏的文件完整性检查(校验和)的最合适的哈希函数?

我需要考虑以下几点:

广泛的文件大小(1 kb到10GB +)
许多不同的文件类型
大量文件(+/- 100 TB和不断增长)

较大的文件是否需要更高的摘要大小(SHA-1与SHA 512)?

我看到SHA系列被称为加密哈希函数.它们是否不适合"通用"用途,例如检测文件损坏?像MD5或Tiger这样的东西会更好吗?

如果恶意篡改也是一个问题,你的答案会改变最合适的哈希函数吗?

外部库不是一个选项,只有Win XP SP3 +上可用.

当然,性能也值得关注.

(请原谅我的术语,如果不正确,我对这个问题的了解非常有限).

hash checksum file corruption data-integrity

11
推荐指数
1
解决办法
3723
查看次数

查找使用哪个校验和

我和其他一些人一起试图为游戏制作一个Savegameeditor,但我们遇到了一些问题.savegame文件包含一种校验和,我们似乎无法找到使用哪个校验和.到目前为止我们所知道的是:

  • 校验和是32位
  • 在9个不同的已保存游戏之间,除了5个字节(在文件中传播)之外,存储游戏数据完全相同,校验和被发现在1834565-1851372之间,当被解析为未记录的长度时.请注意,每个保存这5个字节的每个保存都是一个增加的数字(大多数是大约+8),但校验和不是lineair增加的.
  • 校验和似乎依赖于位置,因为当切换2个字节时游戏将文件声明为损坏
  • 我尝试了一些校验和,并得出结论它似乎不是Sum32,addler32,DJB2和CRC32,因为它们似乎都没有接近保存游戏中包含的校验和.似乎最接近包含在savegames中的校验和的校验和似乎只是将所有字节添加到unsigned long,它返回约2507737左右的值.

我想知道是否有更好的方法来查找这些文件使用哪个校验和,或者是否有人知道找出使用哪个校验和的任何提示.我目前正在尝试一些我在C++程序中的不同站点上找到的校验和.也许重要的是要知道游戏是从2004年开始,而在其他文件中它使用DJB2进行字符串哈希.根据其他人的说法,.exe似乎正在使用CRC32检查.

编辑1:一段时间后,我设法获得同一文件的924个不同版本,除了2个字节,每个保存各不相同,我还得到了这些文件的校验和,看看它对这些变化的反应如何,我列出了一个这个.(请注意,我不能手动对文件进行更改,游戏只是对其进行校验和,每次我保存文件时它将+2添加到包含不同数字的无符号长整数,这就是我创建列表的方式.)

请参阅下面列表的一部分(924中的50条记录):

>         The bytes         Checksum (as Hex and unsigned long)
>         -----------------------------
>         0x 0 0x18 0x 0    0x13DFA 81402
>         0x 0 0x19 0x 0    0x13F76 81782
>         0x 0 0x1A 0x 0    0x1406D 82029
>         0x 0 0x1B 0x 0    0x14114 82196
>         0x 0 0x1C 0x 0    0x13EC5 81605
>         0x 0 0x1D 0x 0    0x13790 79760
>         0x 0 0x1E 0x 0    0x143C1 82881
>         0x 0 …
Run Code Online (Sandbox Code Playgroud)

c++ checksum crc

11
推荐指数
1
解决办法
2871
查看次数

Hadoop中的校验和验证

我们需要在通过Webhdfs从Linux服务器将文件移动到Hadoop(HDFS)后验证校验和吗?

我想确保HDFS上的文件在复制后没有损坏.但检查校验和是否必要?

在将数据写入HDFS之前,我读取客户端做校验和

有人可以帮助我理解如何确保Linux系统上的源文件与使用webhdfs的Hdfs上的摄取文件相同.

hadoop checksum hdfs

11
推荐指数
3
解决办法
2万
查看次数

rsync如何对rsync执行校验和

使用rsync时有时rsync不会复制完成的所有文件,下面是我使用的代码.它们是一种在rsync之后进行校验和检查的方法,看看是否所有文件都已被复制,如果没有复制,直到所有文件都被复制了?

TEMP="/home/user/temp"
OPTS="-rav -h"

rsync $OPTS --stats user@example.com:/home/user/Local $TEMP
Run Code Online (Sandbox Code Playgroud)

linux bash rsync checksum

10
推荐指数
2
解决办法
3万
查看次数

C#中的SqlServer校验和

我在sql server 2008 R2中使用chechsum函数,我想在C#app中获得相同的int值.在c#中是否有任何等效的方法返回像sql checksum函数这样的值?感谢名单

c# sql-server checksum

10
推荐指数
2
解决办法
4802
查看次数

不使用库而在Python中进行CRC32计算

我一直在尝试绕过CRC32计算而没有太大的成功,我似乎得到的值与我应该得到的值不匹配.

我知道Python有能够生成这些校验和的库(即zlib和binascii)但我没有能够使用它们的奢侈,因为在micropython上不存在CRC功能.

到目前为止,我有以下代码:

import binascii
import zlib
from array import array

poly = 0xEDB88320

table = array('L')
for byte in range(256):
    crc = 0
    for bit in range(8):
        if (byte ^ crc) & 1:
            crc = (crc >> 1) ^ poly
        else:
            crc >>= 1
        byte >>= 1
    table.append(crc)

def crc32(string):
    value = 0xffffffffL

    for ch in string:
        value = table[(ord(ch) ^ value) & 0x000000ffL] ^ (value >> 8)

    return value

teststring = "test"

print "binascii calc:  0x%08x" % (binascii.crc32(teststring) …
Run Code Online (Sandbox Code Playgroud)

python crc32 checksum micropython

10
推荐指数
1
解决办法
6810
查看次数