Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I would suggest storing your password hashed rather than encrypted (hashing is one way where as encryption is reversable). I have written about this here (<a href="http://satalketo.com/2013/03/password-storage-how-to-do-it-right/" rel="nofollow">Password storage, how to do it right</a>).</p> <p>I have also written a piece of code to hash the string using SHA512, the code is in VB.NET but it should be pretty simple to move it over to C#, the code is available here (<a href="http://satalketo.com/2010/06/sha512-hash-of-string-or-file/" rel="nofollow">Calculate the SHA512 hash of string or file</a>).</p> <p>If you hash the password and compare it to the hash you have stored in the file, if the two match then they have provided the same password as was hashed originally.</p> <p>As J. Steen mentioned in the comment below that I hadn't made it clear that you should also salt your hashes, this is adding a predefined string to the password prior to hashing it. This makes it harder for anyone to brute force the plain text. So for example if the password was <code>Password1</code> (I know what an amazing password) you would add a string that you would store in your application to the beginning like <code>~{}:@&gt;?!"£$)&amp;(*$</code>. You would then hash the value <code>~{}:@&gt;?!"£$)&amp;(*$Password1</code>. When you want to check that the user has supplied the same password in the login, you use the same salt and what ever password they supply.</p> <p>Hopefully that explains it, if not and you feel the first link doesn't help you understand feel free to let me know :D</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload