有一个关于byte[] 的长度问题。
public static string CreateSalt(int size)
{
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] buff = new byte[size];
rng.GetBytes(buff);
return Convert.ToBase64String(buff);//返回Base64字符串表示形式的随机数
}
我给size指定是8,为什么返回的是一个12位的字符串??
因为使用了ToBase64String,长度会变长
Base64是用于网络传输的,你应该使用HEX字符串。
Convert.ToBase64String(buff).Substring(0, size);
收到截取一下不就可以了吗?何必那么死板呢?