我需要在我的项目中使用 AES 算法,因此我想到为所有要加密的数据提供一个常量密钥。如何在 C# 中创建一个可用作密钥的全局常量字节数组?
byte[]您可以创建的唯一常量是以下常量:
const byte[] myBytes = null;
Run Code Online (Sandbox Code Playgroud)
这是因为byte[](或者一般来说每个数组)都是引用类型,并且引用类型常量只能分配有null值(类型除外string,它可以与字符串文字一起使用)。
常量可以是数字、布尔值、字符串或空引用。
像这样:
static readonly byte[] key = new byte[] { .. }
Run Code Online (Sandbox Code Playgroud)
或者也许考虑使用字符串,然后使用将其转换为字节Bin64
请注意,该数组是读/写的,因此不是恒定的。
编辑
更好的方法是将常量字符串存储在 Bin64 中并byte[]即时转换回。
class Program
{
const string key = "6Z8FgpPBeXg=";
static void Main(string[] args)
{
var buffer = Convert.FromBase64String(key);
}
}
Run Code Online (Sandbox Code Playgroud)