开发者

Import MD5 Passwords from a PHP app to ASP.NET

开发者 https://www.devze.com 2023-01-20 16:06 出处:网络
So I\'m in the process of writing an ASP.NET application that requires to import users from a PHP application. The passwords were hashed using MD5 into the database, so the user table records looks mo

So I'm in the process of writing an ASP.NET application that requires to import users from a PHP application. The passwords were hashed using MD5 into the database, so the user table records looks more or less like this:

user Password

user1 827ccb0eea8a706c4c34a16891f84e7b

user2 e10adc3949ba59abbe56e057f20f883e

And so on. I have access to the PHP source code and I can see that there is no salt or anything else, it is juts a straight MD5 application. Now, Back on my ASP.NET, I tried to use MD5 using the following logic:

public static string HashPassword(string Password)
    {
        //Declarations
        Byte[] originalBytes;
        Byte[] encodedBytes;            
        MD5 md5;

        originalBytes = ASCIIEncoding.Default.GetBytes(Password);            
        md5 = new MD5CryptoServiceProvider();
        encodedBytes = md5.ComputeHash(ori开发者_如何转开发ginalBytes);                                 

        return BitConverter.ToString(encodedBytes);
    }

Problem is, that is returning strings like 50-F8-4D-AF-3A-6D-FD-6A-9F-20-C9-F8-EF-42-89-42, which of course is not going to match with the information in the database. What should I do so I don't have to reset 500+ user passwords?


Return this instead:

return Encoding.UTF8.GetString(encodedBytes).ToLowerInvariant();

BitConverter explicitly inserts dashes in the string value.

Or of course you could keep using BitConverter and just do .Replace("-","").ToLower()

0

精彩评论

暂无评论...
验证码 换一张
取 消