AES算法需要一个64位的十六进制字符随机序列;Sha1算法需要一个128位的十六进制字符随机序列
byte[] buffer = new byte[length / 2]; //这里我不明白,为什么需要/2,8位=1byte,为什么是除2如下是给的算法
protected void Page_Load(object sender, EventArgs e)
{
lblSha1.Text = GetSequence(64);
lblAES.Text = GetSequence(128);
}
private string GetSequence(int length)
{
byte[] buffer = new byte[length / 2]; //这里我不明白,为什么需要/2,8位=1byte,为什么是除2
RNGCryptoServiceProvider provider = new RNGCryptoServiceProvider();
provider.GetBytes(buffer);
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < buffer.Length; i++)
{
sb.Append(string.Format("{0:X2}", buffer[i]));
}
return sb.ToString();
}
byte[] buffer = new byte[length / 2]; //这里我不明白,为什么需要/2,8位=1byte,为什么是除2如下是给的算法
protected void Page_Load(object sender, EventArgs e)
{
lblSha1.Text = GetSequence(64);
lblAES.Text = GetSequence(128);
}
private string GetSequence(int length)
{
byte[] buffer = new byte[length / 2]; //这里我不明白,为什么需要/2,8位=1byte,为什么是除2
RNGCryptoServiceProvider provider = new RNGCryptoServiceProvider();
provider.GetBytes(buffer);
StringBuilder sb = new StringBuilder(length);
for (int i = 0; i < buffer.Length; i++)
{
sb.Append(string.Format("{0:X2}", buffer[i]));
}
return sb.ToString();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货