Questions tagged «sha1»

SHA-1是由美国政府设计为联邦信息处理标准的加密哈希函数。最近,已检测到冲突,这意味着SHA1变得更容易受到攻击,因此不建议将其用于保护数据。

9
git中的哈希冲突
如果我在使用git时发生哈希冲突,实际上会发生什么? 例如,我设法用相同的sha1校验和提交两个文件,git会注意到它还是损坏其中一个文件? 可以改进git来使其兼容吗,还是我必须更改为新的哈希算法? (请不要通过讨论这种可能性的可能性来避免这个问题-谢谢)
175 git  hash  sha1  hash-collision 



12
Java字符串到SHA1
我正在尝试用Java创建一个简单的String到SHA1转换器,这就是我所拥有的... public static String toSHA1(byte[] convertme) { MessageDigest md = null; try { md = MessageDigest.getInstance("SHA-1"); } catch(NoSuchAlgorithmException e) { e.printStackTrace(); } return new String(md.digest(convertme)); } 当我通过它时toSHA1("password".getBytes()),我[�a�ɹ??�%l�3~��.知道它可能是像UTF-8这样的简单编码修复程序,但是有人可以告诉我我应该怎么做才能得到我想要的东西5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8吗?还是我这样做完全错误?
158 java  string  sha1 

7
SHA-1是否安全存储密码?
结论: SHA-1与任何其他对原像攻击的攻击一样安全,但是它易于计算,这意味着更容易进行暴力破解或字典攻击。(对于SHA-256之类的后继者也是如此。)根据情况的不同,散列函数的设计成本较高(例如bcrypt),可能是更好的选择。 有些人大声疾呼诸如“ SHA-1损坏”之类的言论,所以我试图理解这到底意味着什么。假设我有一个SHA-1密码哈希数据库,并且攻击者拥有最先进的SHA-1破坏算法,并且拥有100,000台机器的僵尸网络可以访问它。(对10万台家用计算机进行控制将意味着它们每秒可以执行约10 ^ 15次操作。)他们需要多少时间 找出任何一个用户的密码? 找出给定用户的密码? 找出所有用户的密码? 找到一种以用户身份登录的方法? 找到一种以特定用户身份登录的方法? 如果密码过大,该如何更改?加盐的方法(前缀,后缀或两者,或诸如xor-ing之类的更复杂的东西)是否重要? 经过谷歌搜索后,这是我目前的理解。如果我误解了一些内容,请纠正答案。 如果没有盐,彩虹攻击将立即找到所有密码(极长的密码除外)。 如果有足够长的随机盐,找出密码的最有效方法是蛮力攻击或字典攻击。碰撞和前映像攻击都无法帮助您找到实际的密码,因此,针对SHA-1的加密攻击没有帮助。甚至使用什么算法都没关系-甚至可以使用MD5或MD4,并且密码也一样安全(因为计算SHA-1散列的速度较慢,所以存在细微差别)。 为了评估“同样安全”的安全性,我们假设一次sha1运行需要1000次操作,并且密码包含大写,小写和数字(即60个字符)。这意味着攻击者每天可以测试10 15 * 60 * 60 * 24/1000〜= 10 17个潜在密码。对于蛮力攻击,这意味着要在3小时内测试所有密码,最多9个字符,一周最多测试10个字符,一年最多测试11个字符。(每个其他字符要花60倍的时间。)字典攻击的速度要快得多(即使攻击者只有一台计算机,也可以在数小时内将其删除),但只能找到弱密码。 要以用户身份登录,攻击者无需找出确切的密码;找到一个导致相同哈希值的字符串就足够了。这称为第一次原像攻击。据我所知,没有针对SHA-1的原像攻击。(A暴力破解攻击需要2点160的操作,这意味着我们的理论,攻击者需要10 30年,把它关闭。的理论可能性的限制是大约2个60操作,在该攻击将需要几年的时间。)有原像攻击反对SHA-1的简化版本(效果可忽略不计)(对于使用44步而不是80步的简化SHA-1,攻击时间从2160次操作减少到2157次)。有一些针对SHA-1的冲突攻击,这在理论上是可行的(我发现的最好的攻击时间从2 80降至2 52),但是对于密码哈希(即使不加盐)也没有用。 简而言之,使用SHA-1存储密码似乎非常安全。我错过了什么? 更新: Marcelo指出了一篇文章,其中提到了2 106次操作中的第二次原像攻击。(编辑:正如Thomas所解释的那样,此攻击是一种假想的构造,不适用于现实情况。)不过,我仍然看不到这对使用SHA-1作为关键派生函数的危险。通常有充分的理由认为碰撞攻击或第二原像攻击最终可以转变为第一原像攻击吗?
148 cryptography  hash  sha1 

12
如何在没有Git的情况下将Git SHA1分配给文件?
据我了解,当Git将SHA1哈希分配给文件时,SHA1根据文件的内容对于文件是唯一的。 结果,如果文件从一个存储库移至另一个存储库,则文件的SHA1保持不变,因为其内容未更改。 Git如何计算SHA1摘要?是否对全部未压缩的文件内容执行此操作? 我想模拟在Git之外分配SHA1。
138 git  sha1 


11
SHA1 vs md5 vs SHA256:哪个用于PHP登录?
我正在进行php登录,并且试图确定是使用SHA1还是Md5,还是我在另一stackoverflow文章中了解到的SHA256。他们中的任何一个比其他人更安全吗?对于SHA1 / 256,我还使用盐吗? 另外,这是将密码作为哈希存储在mysql中的安全方法吗? function createSalt() { $string = md5(uniqid(rand(), true)); return substr($string, 0, 3); } $salt = createSalt(); $hash = sha1($salt . $hash);
133 php  login  md5  sha1  sha256 

5
git如何计算文件哈希?
存储在树对象git ls-tree中的SHA1哈希值(由返回sha1sum)与文件内容的SHA1哈希值(由返回)不匹配 $ git cat-file blob 4716ca912495c805b94a88ef6dc3fb4aff46bf3c | sha1sum de20247992af0f949ae8df4fa9a37e4a03d7063e - git如何计算文件哈希?它会在计算哈希值之前压缩内容吗?
124 git  hash  sha1  checksum  git-hash 


10
如何从Java的keytool中获得MD5指纹,而不仅仅是SHA-1?
当我想在应用程序中使用Google地图时,我需要调试证书的MD5指纹。我尝试了以下方法: (在这里我从bin文件夹中的C:\ Documents and Settings \ Administrator.android复制了debug.keystore文件) C:\Program Files\Java\jdk1.7.0\bin>keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android 但是得到了以下结果: androiddebugkey, May 27, 2011, PrivateKeyEntry,Certificate fingerprint (SHA1): "some code" 但是,这不适用于获取MAP API密钥。SHA1是否与MD5相同? 我应该怎么做才能获得MD5证书?

6
用Python哈希文件
我想让python读取EOF,这样我就可以获取适当的哈希,无论它是sha1还是md5。请帮忙。这是我到目前为止的内容: import hashlib inputFile = raw_input("Enter the name of the file:") openedFile = open(inputFile) readFile = openedFile.read() md5Hash = hashlib.md5(readFile) md5Hashed = md5Hash.hexdigest() sha1Hash = hashlib.sha1(readFile) sha1Hashed = sha1Hash.hexdigest() print "File Name: %s" % inputFile print "MD5: %r" % md5Hashed print "SHA1: %r" % sha1Hashed
98 python  hash  md5  sha1  hashlib 

4
bash中的HMAC-SHA1
是否有一个bash脚本来生成一个 HMAC-SHA1哈希? 我正在寻找与以下PHP代码等效的内容: hash_hmac("sha1", "value", "key");
95 bash  sha1  hmac 

6
在C#中使用SHA1算法进行哈希处理
我想byte[]通过使用SHA1算法对给定数组进行哈希处理SHA1Managed。 该byte[]散列将来自单元测试。 预期的哈希是0d71ee4472658cd5874c5578410a9d8611fc9aef(区分大小写的)。 我该如何实现? public string Hash(byte [] temp) { using (SHA1Managed sha1 = new SHA1Managed()) { } }
84 c#  hash  byte  sha1  hashcode 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.