我的任务是在 Windows Server 2003 R2 上重建一个用 ASP.net 和 VB 编写的古老网站。在我让他们创建新密码之前,我需要允许用户使用他们当前(旧)密码登录到新网站。
我可以访问所有文件和代码,以及哈希和盐等数据库,以及 Web.config 及其<machineKey/>
.
我的问题是,我如何散列(实际上它在 ASP.net 中设置为“加密”)用户输入的另一种语言,以便我可以比较他们第一次登录时的散列值?
<machineKey/>
说validation="SHA1"
。Web.config 在其他地方没有提到算法。用于在 VB 代码中创建用户的特定 .NET 方法是。System.Web.Security.Membership.CreateUser()
我如何在 Node.js、Java 或 PHP 中模仿它(如果需要,我可以从这些语言中翻译)?
编辑:如果有人能破译这种方法并告诉我实际发生了什么,我将不胜感激。