有人告诉我他见过软件系统:
那可能吗?我认为解密MD5哈希是不可能/不可行的.
我知道有MD5词典,但是有没有实际的解密算法?
我一直想知道的一个概念是使用加密哈希函数和值.我知道这些函数可以生成一个唯一且几乎不可能反转的哈希值,但这是我一直想知道的:
如果在我的服务器上,在PHP中我生成:
md5("stackoverflow.com") = "d0cc85b26f2ceb8714b978e07def4f6e"
Run Code Online (Sandbox Code Playgroud)
通过MD5函数运行相同的字符串时,您在PHP安装上获得相同的结果.正在使用一个过程从一些起始值产生一些值.
这是不是意味着有一些方法来解构正在发生的事情并扭转哈希值?
这些函数是什么使得结果字符串无法回溯?
可能重复:
是否可以解密md5哈希?
我使用密码存储在数据库中md5,并且想知道是否有办法扭转哈希,以便在忘记密码时将用户的密码通过电子邮件发送给他.
如果这不是最合适的方法,处理丢失密码的适当方法是什么?
我的设备具有唯一的序列号(字符串增量)例如:AS1002和AS1003.
我需要找出一种算法来为每个序列号生成一个唯一的激活密钥.
对此最好的方法是什么?
谢谢 !
(这必须离线完成)
我的应用程序上有一个用户模型,我的密码字段使用sha1.我想要的是,当我从数据库中获取sha1时,再次使它成为一个字符串.我怎么做?
使用BCrypt技术将密码作为哈希存储到数据库中.虽然与MD5,SHA-1等快速哈希算法相比可能有点慢,但我们决定更安全.
在.Net中我使用http://bcrypt.codeplex.com/实现了
BCrypt.Net.BCrypt.HashPassword("Password", BCrypt.Net.BCrypt.GenerateSalt(12));
Run Code Online (Sandbox Code Playgroud)
在我们的网站中,管理员将为新用户创建用户名和密码.
存储散列密码没有问题.但是如果管理员想要更新密码,他需要查看旧密码.我没有看到任何解密存储在Bcrypt.Net中的数据库中的散列值的方法.
有没有办法从Bcrypt哈希密码生成文本?但是我同意这不应该是可能的,但有一些情况我们会这样做:(
更新:我决定使用存储在某些表中的默认密码作为纯文本和散列文本并存储为用户的密码.当用户登录该站点时,他将被迫更改密码,直到他重置为止.这听起来不错吗?
可能重复:
是否可以解密md5哈希?
我散列数据,ComputeHash如何从散列数据中学习原始数据?
private void btn_Hash_Click(object sender, EventArgs e)
{
HashAlgorithm ha = HashAlgorithm.Create();
Stream file = new FileStream(@"C:\temp\simetrik.txt", FileMode.Open, FileAccess.Read);
hashClass.hash = ha.ComputeHash(file);
listBox1.Items.Add(BitConverter.ToString(hashClass.hash));
}
Run Code Online (Sandbox Code Playgroud) c# ×3
cryptography ×3
md5 ×3
.net ×2
encryption ×2
hash ×2
security ×2
algorithm ×1
asp.net ×1
bcrypt ×1
cryptographic-hash-function ×1
sha1 ×1
vb.net ×1