C# 如何用另一种语言模拟旧的ASP.net密码加密?

C# 如何用另一种语言模拟旧的ASP.net密码加密?,c#,asp.net,vb.net,encryption,windows-server-2003-r2,C#,Asp.net,Vb.net,Encryption,Windows Server 2003 R2,我的任务是在WindowsServer2003R2上重建一个用ASP.net和VB编写的古老网站。我需要允许用户使用当前(旧)密码登录新站点一次,然后再让他们创建新站点 我可以访问所有文件和代码,以及哈希和盐数据库等,以及Web.config及其 我的问题是,如何用另一种语言对用户的输入进行散列(目前在ASP.net中设置为“加密”),以便在用户首次登录时比较散列值 表示验证=“SHA1”。Web.config在别处没有提到算法。 用于在VB代码中创建用户的特定.NET方法是System.Web

我的任务是在WindowsServer2003R2上重建一个用ASP.net和VB编写的古老网站。我需要允许用户使用当前(旧)密码登录新站点一次,然后再让他们创建新站点

我可以访问所有文件和代码,以及哈希和盐数据库等,以及Web.config及其

我的问题是,如何用另一种语言对用户的输入进行散列(目前在ASP.net中设置为“加密”),以便在用户首次登录时比较散列值

表示
验证=“SHA1”
。Web.config在别处没有提到算法。 用于在VB代码中创建用户的特定.NET方法是
System.Web.Security.Membership.CreateUser()
。我如何在Node.js、Java或PHP中模仿它(如果需要,我可以从这些语言中进行翻译)


编辑:如果有人能破译并告诉我到底发生了什么,我将不胜感激

您能否通过现有应用程序进行验证并重定向到新应用程序?可以获得.NET Framework的参考源代码。也许你应该看看他们在做什么。我试着潜入.NET框架。当我深入到
System.Web.Configuration.MachineKeySection.EncryptOrDecryptData()
中得到一些嵌套方法后,我就迷路了。真是一场噩梦。很可能操作系统并不重要,而ASP.NET的版本只会起到轻微的作用。因此,一种可能的替代方法是分离站点中进行身份验证的部分,将其封装在自己的服务中,并调用它进行验证。这确实意味着在迁移需要的时间内维护一个安装了ASP.NET的服务器(可能是虚拟的),这很笨拙,但没有在一个古老的服务器上维护整个站点那么昂贵,也没有像反向工程一样烦人。我不需要维护旧站点,只需要使用旧的(加密的)站点在将新站点更改为新站点之前,允许他们登录新站点一次的密码。您能否通过现有应用进行验证并重定向到新站点?提供了.NET Framework的参考源代码。也许你应该看看他们在做什么。我试着潜入.NET框架。当我深入到
System.Web.Configuration.MachineKeySection.EncryptOrDecryptData()
中得到一些嵌套方法后,我就迷路了。真是一场噩梦。很可能操作系统并不重要,而ASP.NET的版本只会起到轻微的作用。因此,一种可能的替代方法是分离站点中进行身份验证的部分,将其封装在自己的服务中,并调用它进行验证。这确实意味着在迁移需要的时间内维护一个安装了ASP.NET的服务器(可能是虚拟的),这很笨拙,但没有在一个古老的服务器上维护整个站点那么昂贵,也没有像反向工程一样烦人。我不需要维护旧站点,只需要使用旧的(加密的)站点在他们将新站点更改为新站点之前,允许他们登录新站点一次的密码。