C# 如何使asmx比使用NetworkCredential更安全?

C# 如何使asmx比使用NetworkCredential更安全?,c#,asmx,networkcredentials,C#,Asmx,Networkcredentials,我正在使用asmx webservice,并添加了NetworkCredential: Credentials = new NetworkCredential("Farshad", "HN", "Yaas") 我听说,如果有人发现我的头请求可以获得NetworkCredential。他让我把它们散列,然后将它们附加到网络凭证上。 有没有其他方法使它更安全?我用这种方法解决了我的问题: 就像@bradbury9所说的,这个凭证将以明文形式传递,所以我们需要一个安全通道 但我们还可以做另一件事。在

我正在使用asmx webservice,并添加了NetworkCredential:

Credentials = new NetworkCredential("Farshad", "HN", "Yaas")
我听说,如果有人发现我的头请求可以获得NetworkCredential。他让我把它们散列,然后将它们附加到网络凭证上。
有没有其他方法使它更安全?

我用这种方法解决了我的问题:

就像@bradbury9所说的,这个凭证将以明文形式传递,所以我们需要一个安全通道

但我们还可以做另一件事。在IIS中有和

摘要身份验证将在中自动散列(用户名、密码、域) 一种安全的方式(现在只有一个名为response的字符串)和基本身份验证将检查windows用户的响应


代替使用ssl,我们可以使用自签名证书在本地网络中创建安全通道。

ssl/tsl可能是一种方法。如果您进入WCF,这些更改可以完全在.config配置文件中完成。您的意思是,如果我使用NetworkCredential,它将以纯文本形式发送我的凭据?我想有一个安全的连接,我必须使用ssl/tsl@Bradbury9取决于具体的环境(NTLM既不加密用户名,也不加密密码,以明文形式发送用户名,并对密码进行哈希运算,这很容易导致暴力强制),请检查