我的应用程序使用用户名和密码连接到FTP服务器.我可以创建加密例程来加密和解密密码,但任何有权访问源代码和加密密码的人都可以解密密码.
有一种简单的方法可以防止每个人知道应用程序使用的整个密码吗?(如果有多个人知道密码的一部分,我认为没关系.)
编辑:我知道FTP不安全.理想情况下,我想要一种适用于需要用户名和密码的任何情况下的技术(例如数据库连接).
不是.应用程序用户所要做的就是嗅探自己的网络流量(容易与Wireshark等).
你真的需要一种方法来为每个用户提供某种独特的令牌.
编辑 - 更多信息:
依赖于对应用程序的每个副本都相同的"秘密"登录信息的任何系统都存在设计缺陷.为了保证安全,应用程序的每次安装都必须具有用于向服务器进行身份验证的唯一秘密.您如何实现这一点取决于您如何许可/分发您的应用程序.我就是这样做的.(通过SSL连接执行所有通信).
应用程序首次启动 - 它看到它没有保存身份验证信息.
应用程序会提示您输入注册码,电子邮件地址和/或您想要识别您的用户.
应用程序生成公钥/私钥对,并将带有您的ID信息的公钥从步骤2提交到服务器.
服务器会记住您的密钥,并使用它来识别您的应用程序.
备选步骤3是:app从步骤2提交信息,服务器发回info + salt的哈希签名.哈希签名现在是您应用的关键.
重要的是,所有用户之间没有"秘密"共享.