有人告诉我他见过软件系统:
那可能吗?我认为解密MD5哈希是不可能/不可行的.
我知道有MD5词典,但是有没有实际的解密算法?
我对这类事情没有经验,所以我甚至不确定关键字(因此标题).基本上我需要一个双向功能
encrypt(w,x,y) = z
decrypt(z) = w, x, y
Where w = integer
x = string (username)
y = unix timestamp
Run Code Online (Sandbox Code Playgroud)
和z =是一个8位数字(可能包括字母,规格还没有.)
我希望z不容易猜测并且易于验证.速度不是一个大问题,安全也不是.跟踪一对一关系是主要要求.任何资源或方向将不胜感激.
编辑
谢谢你的答案,学到了很多东西.因此,为了澄清,8个字符是唯一的硬性要求,以及链接W < - > Z的能力.用户名(Y)和时间戳(Z)将被认为是锦上添花.
如果可能的话,我想以数学的方式做这个,而不是做一些数据库查找.
如果我今晚必须完成这个,我可以找到一个合适的哈希算法并使用一个查找表.我只是想扩大我对这类事物的理解,看看我是否可以用数学方法做到这一点.
可能重复:
是否可以解密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)