在"标准"笔记本电脑x86硬件上计算MD5散列的CPU密集程度是否比SHA-1或SHA-2少?我对一般信息感兴趣,不是特定于某个芯片.
更新: 在我的情况下,我有兴趣计算文件的哈希值.如果文件大小很重要,我们假设它是300K.
我正在为一个论坛写一个登录,并且需要在将它发送到服务器之前在javascript中对密码客户端进行散列.我无法确定哪些SHA-256实现我可以信任.我期待每个人都使用某种权威脚本,但我发现大量不同的项目都有自己的实现.
我意识到使用其他人的加密始终是信仰的飞跃,除非你有资格自己审查它,并且没有"值得信赖"的普遍定义,但这似乎是一种常见且重要的东西,应该有某种形式关于使用什么的共识.我只是天真吗?
编辑,因为它在评论中出现了很多:是的,我们在服务器端再次执行更严格的哈希.客户端散列不是我们在数据库中保存的最终结果.客户端散列是因为人类客户端请求它.他们没有给出具体原因,可能他们只是喜欢矫枉过正.
我试图找到答案,但我找不到答案......
如何检查我的SSL证书是否使用SHA1或SHA2?
我问的原因是因为它可能与Mozilla Browers上没有加载的证书有关....
有任何想法吗?我可以通过cPanel查看吗?
我想知道什么是Java的哈希算法的最佳和最快的实现,尤其是MD5和SHA-2 512(SHA512)或256.我想要一个函数来获取字符串作为参数并返回哈希作为结果.亲爱的
编辑:这是为了将每个URL映射到唯一的哈希.由于MD5在这方面不可靠,我更感兴趣的是找到SHA-2算法的最佳和最快的实现.请注意,我知道即使SHA-2可能会为某些URL生成相同的哈希值,但我可以接受它.
SHA384是SHA512的截断版本.但为什么有人会用呢?并且推论:如果SHA384与SHA512一样好,那么使用512位版本有什么理由吗?
我打算使用其中一种算法来验证文件的完整性,所以我主要对colision安全感兴趣.
我很高兴听到任何人在实践中如何使用SHA2摘要,为什么你会选择一个版本而不是另一个版本.
我在.NET生成的数据库中存储SHA256用户密码哈希,我需要能够使用Node.js检查它们.唯一的问题是.NET和Node.js为相同的密码创建不同的哈希值.
Password: ThisPassword
Run Code Online (Sandbox Code Playgroud)
var ue = new UnicodeEncoding();
var byteSourceText = ue.GetBytes("ThisPassword");
var byteHash = new System.Security.Cryptography.SHA256Managed().ComputeHash(byteSourceText);
return Convert.ToBase64String(byteHash);
//Tlwxyd7HIQhXkN6DrWJtmB9Ag2fz84P/QgMtbi9XS6Q=
Run Code Online (Sandbox Code Playgroud)
var crypto = require('crypto');
return crypto.createHash('sha256').update('ThisPassword').digest('base64')
//d7I986+YD1zS6Wz2XAcDv2K8yw3xIVUp7u/OZiDzhSY=
Run Code Online (Sandbox Code Playgroud)
我找到了这个,但无法弄清楚如何实施他的解决方案.
我想知道根据不同的字符集破解哈希所需的数学时间.
例如,仅使用7个字母,US-ASCII字母字符,我们知道可以使用26 7个可能的序列.知道每分钟计算机可以生成多少这些可以让我了解生成所有可能的哈希值并破解某个7字符哈希(抛开生日攻击)需要多长时间.
例如,取上面的数字,如果现代四核可以每分钟产生100万个哈希值,那么8031810176 / 1000000 / 60 = 133.86
在该范围内找到所有可能的哈希值需要数小时.
此外,具有原生AES的新型Sandy Bridge英特尔芯片如何发挥作用?
我们刚刚从SHA-1切换到SHA-2代码签名证书.(作为背景信息,我们使用COMODO代码签名证书在Windows上使用signtool.exe签署.exe和.xap文件.)我们使用经过认证的时间戳来执行此操作,以确保Windows在代码签名证书后始终信任代码签名到期.
现在我注意到使用http://timestamp.comodoca.com/authenticode时,时间戳证书仍然是SHA-1证书.(详细信息:df946a5 ...主题'CN = COMODO时间戳签名者,O = COMODO CA Limited,L = Salford,S =大曼彻斯特,C = GB'.)
(在Windows上,可以通过签名.exe查看该证书,然后在其Explorer Properties对话框中转到Digital Signatures选项卡,选择签名并单击Details,然后在Digital Signature Details对话框中单击counter签名并单击Details,然后在第二个"数字签名详细信息"对话框中单击"查看证书".如果"签名哈希算法"为"sha1",则证书为SHA-1证书.)
这会是一个问题吗? 换句话说,在我们当前的代码签名证书过期之后,并且在Microsoft Windows将SHA-1视为破坏的算法(最迟在2020年)之后,我们当前的签名是否仍然可信?或者Windows会说,"时间戳在代码签名证书的有效范围内,但时间戳是用SHA-1证书签名的,所以我不相信时间戳,因此我不相信这个签名"?
我们可以/应该使用其他服务吗?(不是Verisign的http://timestamp.verisign.com/scripts/timstamp.dll,因为他们还使用SHA-1时间戳证书,即6543992 ...)
sha2 ×10
hash ×6
sha1 ×3
cryptography ×2
javascript ×2
md5 ×2
.net ×1
code-signing ×1
cpu ×1
digest ×1
hmac ×1
integrity ×1
java ×1
node.js ×1
pbkdf2 ×1
php ×1
sha256 ×1
sha512 ×1
timestamping ×1