以这种方式在asp.net项目的web.config中编写密码是多么安全:
<mailSettings>
<smtp from="example@web.com">
<network host="smtp.web.com"
port="123"
userName="username@web.com"
password="12345"
enableSsl="true"/>
</smtp>
</mailSettings>
我不太熟悉互联网安全,所以如果这不安全,还有其他选择吗?
答案 0 :(得分:1)
查看加密web.config部分。
https://msdn.microsoft.com/en-us/library/bb986855.aspx
https://stackoverflow.com/a/6224769/461822
像
这样的东西 "aspnet_regiis.exe -pef "system.net/mailSettings/smtp" "C:\inetpub\wwwroot\website" -prov RSAProtectedConfigurationProvider"
在部署到Web场时,请考虑<machineKey>
值。
如果您在web.config中设置了<machineKey>
,那么您基本上就会放弃要解密的密钥。
就像大卫在上面的评论中所说,如果你能够与有权访问你的代码的人分享秘密,那么就可以了。
如果没有,请创建一个测试smtp环境,您不必介意共享凭据并将这些凭据放在web.config中。
或者查看Papercut之类的工具进行本地测试,并在部署之前/之后更改web.config中的值。