Tag: hash

在混帐哈希碰撞

如果我在使用git时发生了散列冲突,会发生什么? 例如,我设法提交具有相同sha1校验和的两个文件,是否会注意到它或损坏其中一个文件? 可以改善生活,或者我将不得不改变一个新的哈希algorithm? (请不要偏离这个问题,讨论这是多么不可能 – 谢谢)

Object.GetHashCode()的默认实现

GetHashCode()的默认实现如何工作? 它是否有效和足够好地处理结构,类,数组等等? 我试图决定在什么情况下我应该收拾我自己,在什么情况下我可以安全地依靠默认实现来做好。 如果可能的话,我不想重新发明轮子。

如何git计算文件哈希?

存储在树对象中的SHA1哈希(由git ls-tree返回)不匹配文件内容的SHA1哈希值(由sha1sum返回) $ git cat-file blob 4716ca912495c805b94a88ef6dc3fb4aff46bf3c | sha1sum de20247992af0f949ae8df4fa9a37e4a03d7063e – 如何git计算文件散列? 计算哈希之前是否压缩内容?

Excel VBA的密码散列函数

我需要一个用Excel VBA编写的函数,它将使用SHA-1等标准algorithm对密码进行哈希处理。 一些简单的界面,如: Public Function CreateHash(Value As String) As String … End Function 该function需要在安装了Excel 2003的XP工作站上工作,否则不能使用第三方组件。 它可以引用和使用XP提供的DLL,比如CryptoAPI。 有谁知道一个样本来实现这个散列函数?

可能用缓冲读取来计算MD5(或其他)散列?

我需要计算相当大的文件(千兆字节)的校验和。 这可以使用以下方法来完成: private byte[] calcHash(string file) { System.Security.Cryptography.HashAlgorithm ha = System.Security.Cryptography.MD5.Create(); FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read); byte[] hash = ha.ComputeHash(fs); fs.Close(); return hash; } 但是,这些文件通常是以缓冲的方式预先写入的(比如说一次写入32mb的文件)。 我深信,我看到了一个哈希函数的重写,它允许我在写入的同时计算MD5(或其他)哈希值,即:计算一个缓冲区的哈希值,然后将得到的哈希值送入下一次迭代。 像这样的东西:(pseudocode-ish) byte [] hash = new byte [] { 0,0,0,0,0,0,0,0 }; while(!eof) { buffer = readFromSourceFile(); writefile(buffer); hash = calchash(buffer, hash); } 哈希现在与通过在整个文件上运行calcHash函数完成的操作相似。 现在,我在.Net 3.5框架中找不到像这样的重写,我在做梦吗? 它从来没有存在过,还是我只是在search? 同时进行写入和校验和计算的原因是由于大文件造成的。

如何在Android中SHA1哈希一个string?

在Objective C中,我一直在使用下面的代码来散列一个string: -(NSString *) sha1:(NSString*)stringToHash { const char *cStr = [stringToHash UTF8String]; unsigned char result[20]; CC_SHA1( cStr, strlen(cStr), result ); return [NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X", result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7], result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15], result[16], result[17], result[18], result[19] ]; } 现在我需要相同的Android,但不知道如何做到这一点。 我一直在寻找这样的例子: 在Android上进行SHA1encryption? 但是这并没有给我在iPhone上的结果。 任何人都可以指向正确的方向吗?

使用MD5或sha-256 C#散列密码

我正在写一个应用程序的registry单,但仍然遇到新的C#的问题。 我正在寻找encryption/哈希密码为MD5或SHA-256,最好是SHA-256。 任何好的例子? 我希望它能够从“string密码”中获取信息 然后将其散列并存储在variables“string hPassword;”中。 有任何想法吗?

如何在无序容器中为用户定义的types专门化std :: hash <Key> :: operator()?

为了支持std::unordered_set<Key>和std::unordered_map<Key, Value>用户定义的键types,必须提供operator==(Key, Key)和一个哈希仿函数: struct X { int id; /* … */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X& x) const { return std::hash<int>()(x.id); } }; std::unordered_set<X, MyHash> s; 用std::unordered_set<X>写一个types为X的默认散列会更方便,就像编译器和库一样。 经过咨询 C ++标准草案N3242§20.8.12 [unord.hash]和§17.6.3.4[hash.requirements], Boost.Unordered g ++ include\c++\4.7.0\bits\functional_hash.h VC10 include\xfunctional 堆栈溢出中的各种相关问题 似乎有可能专门化std::hash<X>::operator() : namespace std […]

我应该使用什么列types/长度来存储数据库中的Bcrypt哈希密码?

我想在数据库中存储散列密码(使用BCrypt)。 对于这种情况来说,这将是一个好的types,哪个是正确的长度? 密码与BCrypt总是相同的长度? 编辑 哈希示例: $2a$10$KssILxWNR6k62B7yiX0GAe2Q7wwHlrzhF3LqtVvpyvHZf0MwvNfVu 散列一些密码后,似乎BCrypt总是产生60个字符散列。 编辑2 对不起,没有提到的实施。 我正在使用jBCrypt 。