弗雷斯系统公司';VB和MSDN中的MD5代码';s C#MD5代码等效?

弗雷斯系统公司';VB和MSDN中的MD5代码';s C#MD5代码等效?,c#,vb.net,encryption,md5,C#,Vb.net,Encryption,Md5,在给定的系统上,他们使用了来自Frez Systems的MD5散列 他们使用它来“加密”用户的密码并将其存储在数据库中。我的任务是编写一个C#应用程序,需要从不同的角度验证同一个用户。因此,我需要对密码进行“加密”,并将数据库中由VB生成的加密密码与在C#中生成的加密密码进行比较。 现在,我从上面提到的Frez系统获得的加密密码与从中获得的密码不匹配。所以我想知道我是否使用了正确的C#等价物?或者Frez Systems版本是否有问题 有人有过同样的经历吗?让我们明确一点,MD5散列的密码是不加

在给定的系统上,他们使用了来自Frez Systems的MD5散列

他们使用它来“加密”用户的密码并将其存储在数据库中。我的任务是编写一个C#应用程序,需要从不同的角度验证同一个用户。因此,我需要对密码进行“加密”,并将数据库中由VB生成的加密密码与在C#中生成的加密密码进行比较。 现在,我从上面提到的Frez系统获得的加密密码与从中获得的密码不匹配。所以我想知道我是否使用了正确的C#等价物?或者Frez Systems版本是否有问题


有人有过同样的经历吗?

让我们明确一点,MD5散列的密码是不加密的。MD5无法逆转。MD5哈希方法将始终为给定字符串生成相同的MD5。因此,除非有
salt
参与,否则您必须提供更多信息。你链接到的网站已经死了,这是一个封闭或开放的图书馆?链接中有一个句号,这就是为什么它看起来已经死了。我编辑了OP的问题来解决它。看起来Frez系统的MD5是用VB6编写的-这与VB.NET不同。如果您查看从他们网站下载的MD5.zip中的CMD5.cls文件,您可以看到他们是如何构建MD5哈希的。我不知道这是不是错了,但你可以试着用C#中的逻辑看看你得到了什么。另外,正如@Ramhound所说,可能涉及到salt,如果您不知道salt,那么使用MD5的什么实现都无关紧要-对于给定的字符串,您不会得到相同的结果。@Mikrur-我强烈建议您不要使用此库。以下声明:“MD5的一个常见用途是密码加密,因为它本质上是单向的,这并不意味着您的密码不受字典攻击。”这是针对它们的
SHA-256摘要
MD5摘要
的,当然是100%错误的。
SHA-256
MD5
哈希都不能被视为一种加密形式。
SHA-256
MD5
散列不能反转,因此不能将其视为加密。