大家好,提前感谢大家的建议:
我有一个客户机,在那里我将sql server编码到应用程序中。但我是硬编码与2层加密这里是它的工作原理。
我的appconfig文件包含编码为base 64的sql用户名和sql user pw。在将appconfig文件编码为base64之前,我还对应用程序中写入的每个字符使用一个自定义字符增量来“解码”/“编码”字符串。
因此,我的sql连接字符串在所有sql调用方法中都是这样的:username=decode(usernamestringvalue)password=(passwordstringvalue)
我可以听听你对用这种方式存储sql连接字符串的看法吗?安全吗?不安全(是的,我确实计划公开申请)
在设置服务器的ip地址时也有点困惑。现在我可以使用192.168.1.13:1433连接到我的sql数据库,但是这个ip地址在不是我自己的计算机上工作吗??我应该将哪个ip硬编码到我的客户端应用程序中??
谢谢大家!
1条答案
按热度按时间irlmq6kh1#
连接字符串语法
加密的连接字符串:无论选择哪种方法来加密连接字符串凭据,都必须混淆解密连接字符串的代码。如果加密连接字符串并保持程序集打开,则有人可以使用dotpeek之类的应用程序并查看要解密的代码(假设您使用的是.net,我确信所有jit编译语言都有类似的问题)。
您可能需要加密整个连接字符串,以防止任何人更改连接字符串的任何部分。
例如:如果您的应用程序要连接到一个位于internet上的数据库,您将需要加密实际的通信(类似于web浏览器和web服务器使用ssl/tls加密通信线路的方式,sql server通信也可以而且应该这样做)。下面是加密ado.net连接的更多信息(假设您使用的是.net)。
ip:这将是您希望用户连接到的sql server的服务器名称或ip地址。