static public string GetRandomSalt(int saltLength) { byte[] saltByte = new byte[saltLength]; using (var random = new RNGCryptoServiceProvider()) { random.GetBytes(saltByte); } return Convert.ToBase64String(saltByte); }因此,如果盐长度为 8,它将返回一些随机字符串,但以“=”结尾,我该如何避免呢?查看了其他堆栈溢出解决方案,但仍然无法修复它
3 回答
![?](http://img1.sycdn.imooc.com/545868330001e54e02200220-100-100.jpg)
桃花长相依
TA贡献1860条经验 获得超8个赞
public static string GetUniqueKey(int maxSize)
{
char[] chars = new char[62];
chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".ToCharArray();
byte[] data = new byte[1];
using (RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider())
{
crypto.GetNonZeroBytes(data);
data = new byte[maxSize];
crypto.GetNonZeroBytes(data);
}
StringBuilder result = new StringBuilder(maxSize);
foreach (byte b in data)
{
result.Append(chars[b % (chars.Length)]);
}
return result.ToString();
}
- 3 回答
- 0 关注
- 282 浏览
添加回答
举报
0/150
提交
取消