Search code examples
c#securityhashpasswordswindows-phone-7

How to hash a password


I'd like to store the hash of a password on the phone, but I'm not sure how to do it. I can only seem to find encryption methods. How should the password be hashed properly?


Solution

  • UPDATE: THIS ANSWER IS SERIOUSLY OUTDATED. Please use the recommendations from https://stackoverflow.com/a/10402129 or https://stackoverflow.com/a/73125177 instead.

    You can either use

    var md5 = new MD5CryptoServiceProvider();
    var md5data = md5.ComputeHash(data);
    

    or

    var sha1 = new SHA1CryptoServiceProvider();
    var sha1data = sha1.ComputeHash(data);
    

    To get data as byte array you could use

    var data = Encoding.ASCII.GetBytes(password);
    

    and to get back string from md5data or sha1data

    var hashedPassword = ASCIIEncoding.GetString(md5data);