专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 信息/网络安全

密码在程序中的存储和使用有关问题

发布时间:2011-07-03 07:08:20 文章来源:www.iduyao.cn 采编人员:星星草
密码在程序中的存储和使用问题
我写了一个小软件(c++,Qt,mysql),其中用到了mysql数据库保存数据。连接到数据库需要用户名,密码,服务器名,数据库名,等等的敏感信息。一开始这些信息都是直接写在程序里的。后来发现,用文本编辑器打开编译好的二进制程序可以找到这些敏感信息。就简单的按一定算法,把字符串打乱,拆分,然后保存在代码里,用的时候再反向恢复。不知道是不是这样做了,密码还是能够被发现?

问题是我还是感觉不太可靠,因为程序运行到连接数据库这一时刻,用户名和密码这些信息有时明码的字符串了,是不是有可能被偷?听说过一些技术可以防止程序被反汇编,还有加壳什么的。能给我一些资料吗?

数据库中作为数据的用户名密码已经是加密存储了,可是连接到数据库所用到的这这些敏感信息该如何储存和使用呢?请有经验的大侠指教。

另外连接到mysql是不是最好用ssl?


------解决方案--------------------
只要你把密码存在程序中就一定能逆向恢复,因为别人只要跟踪你的程序执行就能发现密码。
至于加壳,加密,防君子不防小人。

让软件使用者输入密码相对安全,但一样会被hook键盘,hook窗口,或读内存等等方式拿到。


至于作为数据的用户名密码的访问方式,如果是仅限于登陆验证,可以参考SRP,这是一个比较好的远程认证协议,最新版本SRP6a
------解决方案--------------------
搞的太复杂意义不大,你处理的基本上就可以了
事实上不管你用了什么样的加壳,反跟踪技术
别人都可以很轻松跟踪mysql连接过程攻取你的密码
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: