如何将使用System.Security.Cryptography和WebSecurity Module加密的密码合并到Web安全模块中?

时间:2015-11-09 21:11:20

标签: asp.net encryption cryptography

我的任务是允许两个网站中的现有用户通过Unifed网站进入。我遇到了一个障碍,我无法弄清楚如何将Security.Cryptography中的加密转换为使用HMACSHA256算法的WebSecurity模块。我需要新的统一网站才能使用HMACSHA256。请提前帮助,谢谢。

加密加密:

  

Blockquote我可以通过WebSecurity模块将明文Pass转换为HMACSHA256,然后迁移用户群吗?

Dim EncryptionKey As String = "XYZ>>Cant tell this"
        Dim clearBytes As Byte() = Encoding.Unicode.GetBytes(clearText)
        Using encryptor As Aes = Aes.Create()
            Dim pdb As New Rfc2898DeriveBytes(EncryptionKey, New Byte() {&H49, &H76, &H61, &H6E, &H20, &H4D, _
             &H65, &H64, &H76, &H65, &H64, &H65, _
             &H76})
            encryptor.Key = pdb.GetBytes(32)
            encryptor.IV = pdb.GetBytes(16)
            Using ms As New MemoryStream()
                Using cs As New CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write)
                    cs.Write(clearBytes, 0, clearBytes.Length)
                    cs.Close()
                End Using
                clearText = Convert.ToBase64String(ms.ToArray())
            End Using
        End Using
        Return clearText

1 个答案:

答案 0 :(得分:0)

这里提出的问题对我来说非常有用。我想我现在有一个行动计划。

我将从Site1中删除所有密码并将它们存储在纯文本中。然后我将利用我们在站点2中使用的webmatrix.webdata的generatepasswordtoken和ResetPassword方法,以正确的形式将密码保存在迁移的数据库中。

@Maarten:我的任务仅限于将用户身份验证从站点1和站点2迁移到新数据库以使用已存在的站点2身份验证。

@CodesinCHaos:不,我无意改变这一点,我只希望来自其中任一站点的用户能够登录到集成站点。

你们都问我一些问题让我一次又一次地完成我的任务目标,这让我意识到我已经拥有了所有可用的代码,因为这两个网站都是现有的。所以我打算提出一个应用程序,并在上传某个地方后发布链接。

感谢您的帮助。