Fluent nhibernate 如何在NHibernate映射中解密MD5密码?

Fluent nhibernate 如何在NHibernate映射中解密MD5密码?,fluent-nhibernate,nhibernate-mapping,md5,Fluent Nhibernate,Nhibernate Mapping,Md5,有办法做到这一点吗? 在我的映射类中,当我将数据库数据提取到实体中时,我想解密MD5密码。这可能吗 谢谢大家! MD5可用于加密密码。MD5被认为是一种新的解决方案。您要做的是使用MD5对密码进行散列,并将其与数据库中的原始散列值进行比较。由于MD5是单向的,如果密码相同,则哈希值相同 编辑: 如果您正在寻找破解MD5加密密码,则情况有所不同。看看 您首先要了解,这不是特定于技术的。这些是基本的计算机科学通用概念,可以使用各种技术来实现。在你的例子中,C#和NHibernate等 简单地说,使用

有办法做到这一点吗? 在我的映射类中,当我将数据库数据提取到实体中时,我想解密MD5密码。这可能吗


谢谢大家!

MD5可用于加密密码。MD5被认为是一种新的解决方案。您要做的是使用MD5对密码进行散列,并将其与数据库中的原始散列值进行比较。由于MD5是单向的,如果密码相同,则哈希值相同

编辑:

如果您正在寻找破解MD5加密密码,则情况有所不同。看看

您首先要了解,这不是特定于技术的。这些是基本的计算机科学通用概念,可以使用各种技术来实现。在你的例子中,C#和NHibernate等

简单地说,使用MD5(消息摘要算法5)所做的是进行哈希运算。因为它是一个散列函数。看一看

但是这个MD5是一个单向散列函数。“单向”意味着几乎不可能从字符串派生原始文本。这就是为什么它被用于密码加密。因为您无法反转单向函数并获取实际密码。也来看看

我假设您希望检查插入的密码是否正确,是否允许登录或执行任何必要的操作您不应解密密码。如果你不打算破解密码。密码破解更多的是猜测,可以利用实现的方法(在MD5哈希冲突中)的弱点来缩小范围

在密码创建中,您获取密码并使用MD5(在您的情况下)对其进行散列。然后,这个散列值将存储在数据库中。然后,下次您要检查密码是否正确。然后再次获取密码,并使用MD5再次对其进行哈希运算。然后获取该散列值并将其与数据库中的散列值进行比较。如果它们匹配,则插入的密码是正确的


我看得出你是个新手。我建议您最好先学习这些概念,无论您使用何种技术,这些概念都会对您有所帮助。

您不妨问问,您是否可以在焚烧一堆灰烬之前将其放回原木中。哈希是一种单向操作。。。你不能“逆转”它。您唯一能做的就是确定一些生成相同哈希(哈希冲突)的源值。

您知道吗,MD5是单向哈希函数?是的,是单向哈希函数。很好。但是你知道如何解密用MD5加密的检索到的密码吗?我正试图用C#执行此操作,但没有成功。是否希望此操作破解密码?。你能大致告诉我你打算在哪里使用这个吗?不,我只是想得到一个Joomla密码并解密它。在NHibernate映射中首选。但最基本的是:获取Joomla密码并解密。你对这个问题找到答案了吗?没有。MD5是单向散列,我的解决方案是重新创建丢失的密码,用这种方法对它们进行加密。