有人告诉我他见过软件系统:
那可能吗?我认为解密MD5哈希是不可能/不可行的.
我知道有MD5词典,但是有没有实际的解密算法?
可能重复:
MD5哈希值怎么不可逆?
我正在读一个关于MD5的问题,它让我记住了令我难以置信的事情.非常简单的问题,如果它不是一个好的我很抱歉.我只是无法理解你是如何使用某种算法将某些东西转换为一种东西的,并且无法使用该算法反向转换回来.
那怎么可能呢?
此外,由于多个字符串可以创建相同的MD5哈希值,因为它的数据少于输入字符串,所以其他任何哈希系统如何更好?
可能重复:
反转MD5哈希
在c#中给出这个方法
public string CalculateFileHash(string filePaths) {
var csp = new MD5CryptoServiceProvider();
var pathBytes = csp.ComputeHash(Encoding.UTF8.GetBytes(filePaths));
return BitConverter.ToUInt64(pathBytes, 0).ToString();
}
Run Code Online (Sandbox Code Playgroud)
如何用"DecodeFileHash"方法扭转这个过程?
var fileQuery = "fileone.css,filetwo.css,file3.css";
var hashedQuery = CalculateFileHash(fileQuery); // e.g. "23948759234"
var decodedQuery = DecodeFileHash(hashedQuery); // "fileone.css,filetwo.css,file3.css"
Run Code Online (Sandbox Code Playgroud)
最后在哪里decodeQuery == fileQuery.
这甚至可能吗?如果不可能,会以任何方式生成我可以轻松解码的哈希吗?
编辑:所以为了清楚,我只想压缩变量"fileQuery"并解压缩fileQuery以确定它最初是什么.自散列/解码以来解决该问题的任何建议都已解决?
再次编辑:只需执行base64编码/解码就像是最佳解决方案.
public string EncodeTo64(string toEncode) {
var toEncodeAsBytes = Encoding.ASCII.GetBytes(toEncode);
var returnValue = System.Convert.ToBase64String(toEncodeAsBytes);
return returnValue;
}
public string DecodeFrom64(string encodedData) {
var encodedDataAsBytes = System.Convert.FromBase64String(encodedData);
var returnValue = Encoding.ASCII.GetString(encodedDataAsBytes);
return returnValue;
}
Run Code Online (Sandbox Code Playgroud) 我正在将ASP.NET成员资格用于主要服务于高级用户的网站.我理解散列和加密密码之间的区别,我正在尝试在两者之间做出决定.
在我的上一个客户抱怨哈希密码是一个完整的PITA之后,我开始偏爱加密密码了.但有人认为这不够安全.
所以我的问题是:加密密码的风险究竟是什么?任何能够通过从数据库解密密码来窃取密码的人肯定能够重置它们,如果它们被散列,不是吗?我很难看到有人可能会因加密密码而导致问题,但无法使用加密密码.使用户方便也很重要.
我的应用程序上有一个用户模型,我的密码字段使用sha1.我想要的是,当我从数据库中获取sha1时,再次使它成为一个字符串.我怎么做?
我已经在我的数据库中以MD5格式保存了用户密码,现在我想以明文方式向用户发送密码,有什么方法可以将MD5字符串转换为明文吗?
我在我的数据库中加密了一些密码,我想找到一种方法来显示它们.以下是它们如何保存到我的mysql数据库中:
function generateHash($plainText, $salt = null){
if ($salt === null)
{
$salt = substr(md5(uniqid(rand(), true)), 0, 25);
}
else
{
$salt = substr($salt, 0, 25);
}
return $salt . sha1($salt . $plainText);
}
$secure_pass = generateHash($this->clean_password);
Run Code Online (Sandbox Code Playgroud)
然后$ secure_pass保存到我的数据库中.
任何人都会有一个想法?
非常感谢你 ;)
可能重复:
是否可以解密md5哈希?
反转MD5哈希
您好有办法解密md5密码字段,以允许用户使用JavaScript编辑密码.或者PHP.
可能重复:
是否可以解密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) md5 ×5
c# ×3
hash ×3
php ×3
cryptography ×2
encryption ×2
passwords ×2
.net ×1
asp.net ×1
javascript ×1
sha1 ×1