我在项目中需要使用AES算法,所以想要为所有要加密的数据创建一个常量密钥。如何在C#中创建一个全局常量字节数组作为密钥?
byte[]
常量是以下内容:const byte[] myBytes = null;
byte[]
(或者说所有的数组)都是引用类型,而引用类型的常量只能被赋值为null
(除了string
类型,可以使用字符字面值)。
常量可以是数字、布尔值、字符串或者空引用。
static readonly byte[] key = new byte[] { .. }
或者考虑使用字符串,然后使用 Bin64
将其转换为字节。
请注意,数组是可读写的,因此不是常量。
编辑
更好的方法是在 Bin64
中存储一个常量字符串,并在使用时动态转换为 byte[]
。
class Program
{
const string key = "6Z8FgpPBeXg=";
static void Main(string[] args)
{
var buffer = Convert.FromBase64String(key);
}
}
const
,但是你只能将null
赋值给它,不能赋其他任何值。 - MarcinJuraszek