Changing passwordFormat from Encrypted to Hashed

前端 未结 4 1452
礼貌的吻别
礼貌的吻别 2020-12-08 16:37

I\'m finding surprisingly little information on converting an existing database from Encrypted passwords to Hashed passwords. (I was able to find a bit more information on c

4条回答
  •  旧时难觅i
    2020-12-08 17:07

    This is the approach I'd start with to see how far I got:

    1. Create two MembershipProviders in my web.config, one for encrypted passwords and one for hashed.
    2. Loop through all users using encrypted password provider. (SqlMembershipProvider.GetAllUsers)
    3. Get the user's password using encrypted password provider. (MembershipUser.GetPassword)
    4. Change the user's password to the same password using hashed password provider. (MembershipUser.ChangePassword)

    So it'd be something like this:

        
            
                
                
                
            
        
    

    code:

    SqlMembershipProvider hashedProvider = (SqlMembershipProvider)Membership.Providers["HashedProvider"];
    SqlMembershipProvider encryptedProvider = (SqlMembershipProvider)Membership.Providers["EncryptedProvider"];
    
    int unimportant;
    foreach (MembershipUser user in encryptedProvider.GetAllUsers(0, Int32.MaxValue, out unimportant ))
    {
        hashedProvider.ChangePassword(user.UserName, user.GetPassword(), user.GetPassword());
    }
    

提交回复
热议问题