探讨一下加密数据库连接串的问题
公司开发需要,要对数据库连接串进行加密,而且不能让开发人员看到。所以我设计了以下方案,希望大家给点意见。
服务器分为DB和APP,在APP上部署两个配置文件,config.xml和key.xml。
key.xml存储如下数据,并设置访问权限
<Encrypt>
<ENC ID="加密后的连接串">真实连接串</ENC>
...
</Encrypt>
<Key value="秘钥">
</key>
config.xml存储如下数据
<DBKEYS>
<KEY ID="开发人员调用的名称">加密后的连接串(同上ENC ID)</KEY>
...
</DBKEYS>
除了两个xml外,建立统一类库OracleOP.dll访问数据库,该类库只开放读取config.xml的KEY,这样开发人员就没法知道真实Production数据库的密码了。因为key.xml设置了访问权限,这样即使反编译,他也看不到key.xml的内容。
不知道这样可以不?