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();
}
}
}