internal static byte[] GenerateSaltInternal(int byteLength = SALT_SIZE) { byte[] buf = new byte[byteLength]; using (var rng = new RNGCryptoServiceProvider()) { rng.GetBytes(buf); } return buf; }