Advertisement
Guest User

Untitled

a guest
Apr 18th, 2015
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. /// <summary>Generate a salt.</summary>
  2. /// <param name="saltLength">Length of the salt to generate</param>
  3. /// <param name="logRounds">The log2 of the number of rounds of hashing to apply. The work factor therefore increases as (2 ** logRounds).</param>
  4. /// <returns>An encoded salt value.</returns>
  5. public static string GenerateSalt(int saltLength = 16, int logRounds = 10)
  6. {
  7. var randomBytes = new byte[saltLength];
  8. RandomNumberGenerator.Create().GetBytes(randomBytes);
  9.  
  10. var rs = new StringBuilder((randomBytes.Length * 2) + 8);
  11.  
  12. rs.Append("$2a$");
  13. if (logRounds < 10) rs.Append('0');
  14. rs.Append(logRounds);
  15. rs.Append('$');
  16. rs.Append(EncodeBase64(randomBytes, randomBytes.Length));
  17.  
  18. return rs.ToString();
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement