using System.Security.Cryptography; namespace Kreta.Framework { /// /// Só generálására használatos segédosztály /// public static class SaltGenerator { /// /// Generál egy véletlen sót. /// /// /// A só generálása segítségével történik. /// /// Véletlen só karakterláncként, ami csak számjegyekből áll public static string GenerateSalt() { RandomNumberGenerator generator = RNGCryptoServiceProvider.Create(); byte[] randombytes = new byte[8]; generator.GetNonZeroBytes(randombytes); ulong salt = ((ulong)randombytes[7] << 56) + ((ulong)randombytes[6] << 48) + ((ulong)randombytes[5] << 40) + ((ulong)randombytes[4] << 32) + ((ulong)randombytes[3] << 24) + ((ulong)randombytes[2] << 16) + ((ulong)randombytes[1] << 8) + (ulong)randombytes[0]; return salt.ToString(); } } }