标签: checksum

亚马逊S3和校验和

我尝试验证上传到存储桶的文件的完整性,但我没有找到任何相关信息.

在文件的标题中,有一个"E-tag",但我认为它不是md5校验和.

那么,我如何检查我在Amazon S3上上传的文件是否与我在计算机上的文件相同?

谢谢.:)

checksum amazon-s3

14
推荐指数
1
解决办法
1万
查看次数

OpenCV 3.0安装麻烦

我需要OpenCV3.0,因为它支持我需要的一些新功能.我使用以下代码进行安装(我已经使用此代码成功安装了OpenCV 2.4.9.但对于OpenCV 3.0,在执行cmake部分时,由于MD5校验和不匹配而弹出一些错误)

mkdir OpenCV
cd OpenCV
echo "Removing any pre-installed ffmpeg and x264"
sudo apt-get -qq remove ffmpeg x264 libx264-dev
echo "Installing Dependenices"
sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg
echo "Installing OpenCV" $version
unzip OpenCV-3.0.zip #i manually installed opencv3.0 zipfile for linux from https://github.com/Itseez/opencv/archive/3.0.0-alpha.zip
cd opencv-3.0.0-alpha
mkdir build
cd build …
Run Code Online (Sandbox Code Playgroud)

installation opencv checksum md5 cmake

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

轻量级校验和算法的不错选择?

为了保持一致性,我发现自己需要为一串数据生成校验和.广义的想法是客户端可以根据收到的有效负载重新生成校验和,从而检测传输过程中发生的任何损坏.我隐约意识到这种事情背后有各种各样的数学原理,如果你试图自己滚动,那么微妙的错误就很容易使整个算法失效.

所以我正在寻找有关散列/校验和算法的建议,其标准如下:

  • 它将由Javascript生成,因此需要在计算上相对较轻.
  • 验证将由Java完成(虽然我看不出这实际上是一个问题).
  • 它将采用中等长度的文本输入(URL编码的Unicode,我相信是ASCII); 通常约200-300个字符,在所有情况下都低于2000.
  • 输出也应该是ASCII文本,越短越好.

我主要对轻量级的东西感兴趣,而不是让碰撞的绝对最小潜力成为可能.我是否天真地想象一个八字符哈希适合这个?我还应该澄清,如果在验证阶段没有发现腐败,那么这不是世界末日(而且我确实认识到这不会100%可靠),尽管我的其余代码对每个代码的效率都显着降低滑倒的腐败入境.

编辑 - 感谢所有贡献.我选择了Adler32选项,并且它在Java中原生支持,在Javascript中非常容易实现,在两端快速计算并且具有8字节输出,这完全符合我的要求.

(请注意,我意识到网络传输不太可能对任何损坏错误负责,并且不会在此问题上折叠我的手臂;但是添加校验和验证会消除一个故障点,这意味着我们可以专注于其他方面如果再次发生这种情况.)

javascript java hash checksum

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

单字符签名方案(最小安全性)

注意:我最初将其发布到信息安全,但我开始认为它可能更相关,因为它确实是关于确定我应该如何处理请求而不是保护信息.

情况

系统A:

我有一个A向用户提供请求的系统.此服务器执行某些操作,然后将用户重定向到系统B.在该重定向期间,服务器A可以向用户提供32个字符的字母数字信息串以传递给系统B.需要31个字符的信息,但其中一个可用作校验和.此字符串可以或多或少地被视为请求ID.

系统B:

当系统B接收来自用户的请求时,它可以验证该请求(以及ID-等字符串)是有效的通过解析31个字符的字符串,查询数据库,再跟系统A.本系统可以绝对肯定验证请求有效并且没有被篡改,但它的计算成本非常高.

攻击者:

该系统可能会看到许多欺骗ID的尝试.这可以通过以后的检查进行过滤,因此我并不担心单个角色完全签署ID,我确实希望避免花费更多资源来处理这些请求.

我需要的

我正在寻找一个校验和/签名方案,它可以用一个字符让我很好地了解请求是否应该继续进行验证过程,或者是否应该立即将其丢弃为无效.如果一条消息被丢弃,我需要100%确定它是无效的,但如果我保留无效的消息也没关系.我相信理想的解决方案意味着保留1/62无效请求(攻击者必须猜测检查字符),但作为最小解决方案,丢弃所有无效请求的一半就足够了.

我试过的

我看过使用卢恩算法(这是用于信用卡相同),但我想能够使用一键生成的字符,使其更难以攻击者欺骗校验.

作为创建签名方案的第一次尝试,我用一个31字节的密钥对31字节的id进行按位,对结果字节求和,转换为十进制并将数字加在一起直到它小于62,然后映射它到集合中的字符[a-bA-Z0-9](下面的伪代码).问题是虽然我很确定这不会丢弃任何有效的请求,但我不确定如何确定这将通过无效ID的频率,或者是否可以使用最终值检索密钥.

Set alphabet to (byte[]) "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
Set keystring to "aLaklj14sdLK87kxcvalskj7asfrq01";

Create empty byte[] key;
FOR each letter in keystring
  Push (index of letter in alphabet) to key;

Create empty byte[] step1;

FOR each (r, k) in (request, key)
  Push r XOR s to step1;

Set step2 to …
Run Code Online (Sandbox Code Playgroud)

javascript checksum signing check-digit node.js

13
推荐指数
1
解决办法
164
查看次数

增量校验和

我正在寻找一种校验和算法,对于大块数据,校验和等于来自所有较小组件块的校验和之和.我发现的大部分内容来自RFC 1624/1141,它们确实提供了这项功能.有没有人有这些校验和技术或类似的经验?

checksum

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

Python,dict的校验和

我正在考虑创建一个dict的校验和来知道它是否被修改了.目前我有这个:

>>> import hashlib
>>> import pickle
>>> d = {'k': 'v', 'k2': 'v2'}
>>> z = pickle.dumps(d)
>>> hashlib.md5(z).hexdigest()
'8521955ed8c63c554744058c9888dc30'
Run Code Online (Sandbox Code Playgroud)

也许存在更好的解决方案?

注意:我想创建一个独特的dict id来创建一个好的Etag.

编辑:我可以在dict中有抽象数据.

python checksum

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

rsync可以在同步之前验证内容

可以将Rsync配置为在同步之前验证文件的内容.我听说过校验和,但我知道校验和只是抽样.我想仅在内容被更改而不是时间戳的情况下传输文件,是否有办法在任何rsync模式下执行此操作.在我的场景中,假设每周都会创建文件sample.text,我只想在更改sample.text的内容时将其与远程服务器同步,因为它是每周创建的,时间戳会明显改变.但我希望仅在内容更改时进行转移.

linux rsync checksum file

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

短十进制数的纠错

我有短的,可变长度的十进制数字,如:#41551,由人类手动转录.Mistyping one会导致不良结果,所以我首先想到的是使用Luhn算法来添加校验和 - #41551-3.但是,这只会检测错误,而不是纠正错误.似乎添加另一个校验位应该能够检测并纠正一位数的错误,所以给定#41515-3?(换位错误)我将能够恢复正确的错误#41551.

像Hamming代码这样的东西看起来似乎是正确的地方,但我无法弄清楚如何将它们应用于十进制,而不是二进制数据.是否有针对此用途的算法,或汉明/里德 - 所罗门等是否可以适应这种情况?

checksum data-entry error-correction

12
推荐指数
1
解决办法
719
查看次数

Android APK文件的MD5校验和不同.为什么?

我注意到,如果我两次编译一个Android应用程序,一个接一个地没有更改,那两个APK文件有两个不同的MD5校验和.未签名和签名的APK文件都会产生相同的结果.

您可以将其打开为ZIP文件,其中的内容在两个文件中都有相同的MD5校验和,所以我很好奇.

那里还有什么?这两个APK文件有什么不同?

java android checksum md5 apk

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

带有校验和的Artifactory上传

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

截图,Artifactory,Fix Checksum

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

curl checksum artifactory

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