有没有办法创建一个哈希键,我们的不同服务器可以使用它来解密web.config中的连接字符串,我该怎么做?有什么指针吗?
感谢您的帮助! //彼得
答案 0 :(得分: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个十六进制字符)。
自第一次这样做以来我第一次提出问题......这是一个如何进行生成的例子,做一次并适用于所有机器:How to create keys by using Visual C# .NET
选项2: 如果你不是那种情况而你需要在web.config级别,那么请参阅How To: Encrypt Configuration Sections in ASP.NET 2.0 Using RSA离子MSDN