如何将AES Rijndael生成密钥存储到数据库中?

3 aes key-management rijndaelmanaged

创建实例时,会为我生成KEY和IV.

 RijndaelManaged myRijndael = new RijndaelManaged();
Run Code Online (Sandbox Code Playgroud)

如何将密钥存储在我的数据库或web.config文件中?
以什么格式?

因为我在尝试解密加密字符串时必须加载密钥.

谢谢你的帮助,在这个话题上有点迷失.

Tom*_*lak 16

将二进制文件存储为文本时(无论是文本文件还是数据库字段),Base64编码都是可行的方法.

RijndaelManaged myRijndael = new RijndaelManaged();

// to Base64
string keyb64 = Convert.ToBase64String(myRijndael.Key);

// reverse
myRijndael.Key = Convert.FromBase64String(keyb64);
Run Code Online (Sandbox Code Playgroud)

Base64字符串可以安全地存储在您喜欢的任何地方.

  • 至于"为什么要使用它?":它将二进制字节编码为一组有限的安全字符(超出ASCII范围).这些字符在邮件传输过程中不会被篡改,不受代码页问题的影响,Base64是广泛支持且易于实现的商定标准. (2认同)
  • 顺便说一句:如果这回答了你的问题,如果你接受答案就会很好.:-) (2认同)