什么方法可以在c#中将Hash改回它的字符串

Posted

技术标签:

【中文标题】什么方法可以在c#中将Hash改回它的字符串【英文标题】:What way to change Hash back to it string in c# 【发布时间】:2015-04-07 18:01:58 【问题描述】:

我正在编写部分代码来将字符串更改为哈希

String hash = GetHashString("A"); //return 7FC56270E7A70FA81A5935B72EACBE29

我的问题是,当我传入哈希码时,如何取回“A”?

7FC56270E7A70FA81A5935B72EACBE29

【问题讨论】:

哈希旨在成为一种单向转换。 哈希是不可逆的。如果你想要一些可逆的东西,你正在寻找一种编码。如果不知道您的 GetHashString 方法实际上做了什么,就无法知道它是否是其中之一,但如果名称正确,它将是一种单向操作。 这是 MD5 哈希。它不是为可逆操作而设计的。当然,此时它非常薄弱,许多人创建了查找来反转它。只需在谷歌上搜索该值即可为您提供几个可以反转它的网站。 【参考方案1】:

哈希并不意味着是可逆的。如果您想将其来源与另一个字符串进行比较,只需对第二个字符串进行哈希处理,然后比较它们的哈希值。

【讨论】:

嗨@Mihai Caracostea,我想使用原始值并且不想让其他人知道该值。有什么推荐吗? 考虑一下:如果你可以扭转这种转变,那么任何人都可以。因此,将密码存储为哈希值将不再安全。你最好的选择是加密而不是散列。

以上是关于什么方法可以在c#中将Hash改回它的字符串的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中将 HTML 实体转换为 Unicode 字符

在 C# 中将字符串文字分配给字符串

在 C# 中将通用列表转换为数据集 [关闭]

在 C# 中将 (Javascript)TypedArray 字符串转换为 byteArray 的最佳方法

在 C# 中将分隔字符串转换为字典<string,string>

在 C++ 中将数字转换为字符串的最佳方法? [复制]