Delphi 保护TSQLConnection.Params使用的密码

Delphi 保护TSQLConnection.Params使用的密码,delphi,dbexpress,Delphi,Dbexpress,使用Delphi 2009,当使用TSQLConnection对象设置与MS SQL server的dbExpress连接时,如果连接未使用windows身份验证,是否有方法设置连接参数,以便传递给该对象的密码是安全的 目前,我正在做类似的事情: SqlConn.Params.Values['HostName'] := 'dbserver'; SqlConn.Params.Values['Database'] := 'xdata'; SqlConn.Params.Values['User_Nam

使用Delphi 2009,当使用TSQLConnection对象设置与MS SQL server的dbExpress连接时,如果连接未使用windows身份验证,是否有方法设置连接参数,以便传递给该对象的密码是安全的

目前,我正在做类似的事情:

SqlConn.Params.Values['HostName'] := 'dbserver';
SqlConn.Params.Values['Database'] := 'xdata';
SqlConn.Params.Values['User_Name'] := 'user';
SqlConn.Params.Values['Password'] := 'mysql';
如果执行此操作,并且在运行时对应用程序进行内存转储并从该转储中提取字符串,则可以清楚地看到密码


除了使用windows auth进行连接外,还有其他方法吗?

关于TSQConnection.LoginPrompt的问题呢?您可以将pwd以编码形式存储在应用程序中,并在连接时对其进行解码,但这不会阻止数据包嗅探器在传输到服务器时看到它。@MartynA:或者在包含
TSQLConnection.Params
数据的内存转储中,因为Params是未加密存储的。有关如何安全地处理DB密码的想法,请参阅。特别是,您可以在需要时使用
TSQLConnection.OnLogin
事件按需提供用户名和密码。然后,你可以将它们安全地存储在任何你想要的地方,并且只在需要的时候解密它们。@RemyLebeau,哦,这很有趣!我要看看这是否有用。谢谢。
TSQConnection.LoginPrompt
?您可以将pwd以编码形式存储在应用程序中,并在连接时对其进行解码,但这不会阻止数据包嗅探器在传输到服务器时看到它。@MartynA:或在包含
TSQLConnection.Params
数据的内存转储中,由于参数是未加密存储的。有关如何安全处理DB密码的想法,请参阅。特别是,您可以在需要时使用
TSQLConnection.OnLogin
事件按需提供用户名和密码。然后,你可以将它们安全地存储在任何你想要的地方,并且只在需要的时候解密它们。@RemyLebeau,哦,这很有趣!我要看看这是否有用。谢谢