0

有没有办法创建一个哈希密钥,我们的不同服务器可以使用它来解密 web.config 中的连接字符串,我该怎么做?任何指针?

谢谢您的帮助!// 彼得

4

1 回答 1

2

有 2 个选项,如果它在内部并且您希望所有机器都做同样的事情,那么 machine.config 同步将是最好的。您需要生成一个随机密钥,但这是您要更改的示例元素:

<machineKey  
validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7
               AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"           
decryptionKey="ABAA84D7EC4BB56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F"
validation="SHA1"
decryption="AES"
/>

要生成加密随机密钥:

使用 RNGCryptoServiceProvider 类生成加密强随机数。选择适当的密钥大小。推荐的密钥长度如下:

  • 对于 SHA1,将 validationKey 设置为 64 个字节(128 个十六进制字符)。
  • 对于 AES,将 decryptionKey 设置为 32 个字节(64 个十六进制字符)。
  • 对于 3DES,将 decryptionKey 设置为 24 个字节(48 个十六进制字符)。

自从我第一次这样做时遇到的第一个问题......这里有一个如何生成的例子,做一次并应用于所有机器:如何使用 Visual C# .NET 创建密钥

选项 2:如果您不是这种情况,并且您需要在 web.config 级别使用它,请参阅如何:使用 RSA ion MSDN在 ASP.NET 2.0 中加密配置部分

于 2010-02-02T12:40:42.890 回答