SQL 登录身份验证中的加密如何工作

ioq*_*ion 6 sql-server encryption sql-server-2014

我正在浏览以下链接

https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/authentication-in-sql-server

它说

使用 SQL Server 登录名时,SQL Server 登录名和加密密码会通过网络传递,这会降低它们的安全性。

密码是如何加密的,sql server 是如何解密的?它涉及什么样的加密?

Sea*_*ser 7

密码是如何加密的,sql server 是如何解密的?它涉及什么样的加密?

超级高级,如果您对实例进行了加密设置,则可以使用配置的证书。如果您没有启用它,将使用在 SQL Server 启动时创建的自签名证书。

无论使用哪个,SSL/TLS 设置都是在登录前协商阶段完成的。但是,如果未设置或未强制执行加密,则 TLS/SSL 部分将仅在凭证传输期间处于活动状态,并且一旦在整个生命周期内完成,将立即恢复为纯文本(无 SSL/TLS)连接。

SQL Server 本身不加密或解密数据,它仅在传输过程中加密和解密。根据您的客户端驱动程序和应用程序,这可能会或可能不会以纯文本形式存在于您的进程内存空间中。此外,SQL Server 使用哈希来检查密码,并且不会存储 SQL 登录的原始纯文本密码(除非您想对代理帐户和链接服务器进行迂腐)。