我应该如何将数据存储到我的 MySQL 数据库中,我应该将什么类型指定给存储盐值的列?


盐用于安全地存储数据。如果我们必须安全地存储用户密码,我们需要使用盐。

$pwd=hash(hash($password) + salt)

然后将 $pwd 存储在您的系统中,而不是真实密码。

因此,问题是如何定义盐值。以下是方法

// if (saltBytes == null)
{
   // Define min and max salt sizes.
   int minSaltSize = 4;
   int maxSaltSize = 8;

   // Generate a random number for the size of the salt.
   Random random = new Random();
   int saltSize = random.Next(minSaltSize, maxSaltSize);

   // Allocate a byte array, which will hold the salt.
   saltBytes = new byte[saltSize];

   // Initialize a random number generator.
   RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();

   // Fill the salt with cryptographically strong byte values.
   rng.GetNonZeroBytes(saltBytes);
}

更新时间: 2020 年 6 月 27 日

181 次浏览

开启你的 职业

通过完成课程获得认证

开始
广告