这是我的第一个C#项目,我几乎是新手.我使用openfiledialoge选择文件并通过GetFullPath方法获取文件路径并将其存储在一个名为fpath的变量中.我需要计算其路径存储在fpath变量中的文件的哈希值.我认为可以通过GetHashCode来完成.任何人都可以给我一个片段或一个小指南吗?
我正在创建一个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社区是否采用了"最佳实践"方式来实现这一目标?
什么是用于检测损坏的文件完整性检查(校验和)的最合适的哈希函数?
我需要考虑以下几点:
广泛的文件大小(1 kb到10GB +)
许多不同的文件类型
大量文件(+/- 100 TB和不断增长)
较大的文件是否需要更高的摘要大小(SHA-1与SHA 512)?
我看到SHA系列被称为加密哈希函数.它们是否不适合"通用"用途,例如检测文件损坏?像MD5或Tiger这样的东西会更好吗?
如果恶意篡改也是一个问题,你的答案会改变最合适的哈希函数吗?
外部库不是一个选项,只有Win XP SP3 +上可用.
当然,性能也值得关注.
(请原谅我的术语,如果不正确,我对这个问题的了解非常有限).
我和其他一些人一起试图为游戏制作一个Savegameeditor,但我们遇到了一些问题.savegame文件包含一种校验和,我们似乎无法找到使用哪个校验和.到目前为止我们所知道的是:
我想知道是否有更好的方法来查找这些文件使用哪个校验和,或者是否有人知道找出使用哪个校验和的任何提示.我目前正在尝试一些我在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) 我们需要在通过Webhdfs从Linux服务器将文件移动到Hadoop(HDFS)后验证校验和吗?
我想确保HDFS上的文件在复制后没有损坏.但检查校验和是否必要?
在将数据写入HDFS之前,我读取客户端做校验和
有人可以帮助我理解如何确保Linux系统上的源文件与使用webhdfs的Hdfs上的摄取文件相同.
使用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) 我在sql server 2008 R2中使用chechsum函数,我想在C#app中获得相同的int值.在c#中是否有任何等效的方法返回像sql checksum函数这样的值?感谢名单
我一直在尝试绕过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)