MembershipProvider.GetPassword 算法

发布于 2024-10-05 00:31:37 字数 353 浏览 10 评论 0原文

我们正在将 ASP 站点(使用 DotNetNuke)转换为新的 PHP 站点。我们现在唯一拥有的是现有数据库的完整导出。其中一个表称为“aspnet_Membership”,包含以下字段:

  • 密码(看起来像base64)
  • 密码格式(始终为2)
  • 密码盐(看起来像base64)
  • 密码问题(始终为空)
  • 密码答案(始终为空)

我们想要解码这些密码并对它们进行哈希处理以适合我们自己的框架。据我从 .NET 文档中了解到,这些类型的密码是可以解密的。是否有可用的算法可以做到这一点或者比这更复杂?如果我们在当前服务器上创建一个ASP脚本可以吗?

提前致谢

We are converting an ASP site (using DotNetNuke) to a new PHP site. The only thing we have right now is a full export of the existing database. One of the tables is called "aspnet_Membership" and contains the following fields:

  • Password (looks like base64)
  • PasswordFormat (always value 2)
  • PasswordSalt (looks like base64)
  • PasswordQuestion (always empty)
  • PasswordAnswer (always empty)

We would like to decode these passwords and hash them to fit our own framework. From what I understand from the .NET documentation these kind of passwords can be decrypted. Is there an algorithm available that can do this or is it more complicated than that? Will it be possible if we create an ASP script on the current server?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

恍梦境° 2024-10-12 00:31:37

我认为 2 表示“加密”,而不是“散列”(请参阅​​定义 此处

加密意味着您实际上可以解密它,但您将需要存储在创建这些密码的物理计算机的配置文件中的计算机密钥(请查看我发送的链接)。如果您只有数据库的副本,则无法执行此操作。

I think 2 means "Encrypted", not "Hashed" (see the definition here)

Encrypted means you can actually decrypt it but you will need the machine key stored in configuration files (take a look at the link I sent) of the physical machine where these passwords were created. If you have only a copy of the database, then you can't do it.

执着的年纪 2024-10-12 00:31:37

不幸的是,PasswordFormat 中的值 2 告诉我们这些密码是经过哈希处理的,大概使用 SHA1(您可以在 web.config 中检查这一点)。抱歉,无法可靠地取回原始密码。

*编辑:当然,除非您意识到特定哈希函数中的特定加密弱点。

Unfortunately your value of 2 in PasswordFormat tells us that these passwords are hashed, presumably using SHA1 (you can check this in your web.config). There's no way to reliably get the original password back, sorry.

*edit: unless you're aware of a specific cryptographic weakness in the particular hashing function, of course.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文