Questions tagged «cryptographic-hash-function»


13
如何在Java中哈希密码?
我需要对密码进行哈希处理以存储在数据库中。如何用Java做到这一点? 我希望使用纯文本密码,添加随机盐,然后将盐和哈希密码存储在数据库中。 然后,当用户想要登录时,我可以获取其提交的密码,从其帐户信息中添加随机盐,对其进行哈希处理,然后查看其是否等同于其帐户信息所存储的哈希密码。

9
我应该选择哪个加密哈希函数?
.NET框架附带6种不同的哈希算法: MD5:16个字节(散列时间500MB:1462毫秒) SHA-1:20个字节(1644毫秒) SHA256:32个字节(5618毫秒) SHA3​​84:48个字节(3839毫秒) SHA512:64个字节(3820毫秒) RIPEMD:20个字节(7066 ms) 这些功能各自执行不同的功能。MD5是最快的,而RIPEMD是最慢的。 MD5的优点是适合内置的Guid类型。它是类型3 UUID的基础。SHA-1哈希是类型5 UUID的基础。这使得它们真正易于识别。 但是,MD5容易受到碰撞攻击,SHA-1也容易受到攻击,但程度较小。 在什么情况下应该使用哪种哈希算法? 我真的很想知道答案的具体问题是: MD5不值得信赖吗?在正常情况下,当您使用没有恶意意图的MD5算法并且任何第三方都没有恶意意图时,您会期望发生任何冲突(这意味着两个任意byte []会产生相同的哈希) RIPEMD比SHA1好多少?(如果更好),其计算速度要慢5倍,但哈希大小与SHA1相同。 在对文件名(或其他短字符串)进行哈希处理时,获得非恶意冲突的几率是多少?(例如,两个具有相同MD5哈希值的随机文件名)(带有MD5 / SHA1 / SHA2xx)通常,非恶意冲突的几率是多少? 这是我使用的基准: static void TimeAction(string description, int iterations, Action func) { var watch = new Stopwatch(); watch.Start(); for (int i = 0; i < iterations; i++) { func(); …



16
MD5哈希值为何不可逆?
我一直想知道的一个概念是使用加密哈希函数和值。我知道这些函数可以生成唯一且几乎无法逆转的哈希值,但这是我一直想知道的: 如果在服务器上,则在PHP中产生: md5("stackoverflow.com") = "d0cc85b26f2ceb8714b978e07def4f6e" 通过MD5函数运行相同的字符串时,在PHP安装中会得到相同的结果。一个过程正在被用来从某个初始值中产生一些价值。 这是否意味着有某种方法可以解构正在发生的事情并反转哈希值? 这些函数使生成的字符串无法回溯是什么原因?

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.