mysql – 创建数据库桌面应用程序的正确方法是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 创建数据库桌面应用程序的正确方法是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2414字,纯文字阅读大概需要4分钟。
内容图文
![mysql – 创建数据库桌面应用程序的正确方法是什么?](/upload/InfoBanner/zyjiaocheng/909/7a1d0cf2ae424bcf84076f47b7ea1958.jpg)
我刚刚意识到在我的可执行文件中没有最好的方法来隐藏MySQL字符串连接密码,尤其是在JAR文件中.即使在EXE中对其进行加密也只会减慢进程(尽管我不确定从EXE文件获取加密密码需要多长时间).
所以,根据我的理解,我需要中间的东西来对数据库进行添加,编辑,删除等.看起来像REST API或SOAP服务的工作.
我的问题是,我应该使用哪一个?或者我应该使用其他东西?我在想Zend Framework来创建这些REST API.然后,我将使用Qt创建一个桌面应用程序来调用这些API.但是,如果我继续使用REST,我的应用程序将是一个3层应用程序.如果我只创建一个Web应用程序会不会更好?也许我应该坚持使用桌面应用程序调用那些API,因为应用程序已经完成,我只需要从直接连接到MySQL更改为调用这些API来执行任务而不是将整个应用程序更改为Web.
任何建议都会非常有帮助.提前致谢.
更新:
我正在寻找一种可以保护我的MySQL密码连接的安全性.
混淆器只会混淆代码,它不会隐藏我的字符串数据库信息,在我看来,使用像JAD反编译JAR后使用grep可以很容易地找到它.
关于我的申请:
>使用集中式MySQL数据库
>成千上万的用户
>包含敏感信息
>我的客户端使用Linux和Windows
>我的服务器使用Linux
>所有访问都在局域网中完成,没有外部连接(来自Internet等)
我目前的解决方案(请评论):
>使用REST API(因为MySQL密码在服务器中更安全)
>使用Qt加密密码
解决方法:
这取决于您正在寻找什么样的安全性.这是为了保护应用程序免受用户侵害吗?保护用户的数据免受其他用户的侵害?为了保护多个用户的数据?为了保护用户的数据免受攻击者的侵害?
在许多应用程序中,以纯文本格式存储数据库登录凭据没有任何问题.在其他情况下,您可以尝试:
>使用相当强的算法加密用户选择的数据库密码,例如, Blowfish,使用硬编码密钥;
>让用户每次都提供密码并“登录”程序;
>以纯文本格式存储数据库密码,但使用硬编码密钥加密数据;
>与上述相同,但使用自己提供的密码加密每个用户的数据;
>与2相同,但将每个用户的数据存储在自己的数据库中,并将其登录信息作为数据库凭据;
>将数据存储在用户必须登录以通过SOAP API访问的安全远程数据库中;
>使用本机文件系统权限来保护包含登录凭据的配置文件;
>与#1相同,但滚动你自己真正精心制作的密钥生成系统:例如使用随机生成的salt通过MD5运行计算机SID或硬件ID,然后使用结果加密登录凭据.
请记住,没有完美的安全性,所以无论你定居什么都不需要牢不可破.它需要足够强大才能打破,以避免绕过安全机制的麻烦超过数据的价值.因此,例如,如果数据是扫雷中最高分的列表,则ROT13可能就足够了.
编辑:
我只想补充一点,即使你不能在应用程序中硬编码加密密钥,也有Java,.NET和大多数其他流行语言/框架的混淆器.这些工具的关键用途之一是隐藏敏感的硬编码字符串,如加密密钥.
编辑2:
鉴于有关该应用程序的其他详细信息,在这种情况下只适用1,6和8.而正如乔治正确指出的那样,SOAP API更适合#6.
我还想提一下,有些Java资源混淆器可以加密字符串文字. This只是一个例子.
内容总结
以上是互联网集市为您收集整理的mysql – 创建数据库桌面应用程序的正确方法是什么?全部内容,希望文章能够帮你解决mysql – 创建数据库桌面应用程序的正确方法是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。