c语言程序中如何加密密码,在C源代码中加密密码

有没有办法以一种在编译的应用程序中很难找到的方式保存静态密码?

我需要两个不同的应用程序.一个是Windows的轻量级FTP客户端,只连接到一个硬编码服务器.

另一个是Objective C游戏,它允许用户创建级别包并使用密码来保存它们.它们可以在没有密码的情况下播放,但不能在关卡编辑器中打开.我正在使用AES加密密码,但我必须以某种方式保存密码以进行解密.

到目前为止,我发现的唯一想法是将密码保存为一个字符串,而不是多个字符串.这对游戏来说非常有效,因为我可以连接已经存在的字符串.或者我可以将其保存为长字符串并使用秘密算法从该字符串中获取密码 – 尽管这引出了一个问题:Windows上的C应用程序或OS X上的Cocoa应用程序是否可以被反编译以找到该算法?

有更安全的方法吗?

最佳答案 字符串文字通常保留并存储在二进制文件中的某处,即使在编译的C源代码中也是如此

您可以做的是一种类似于如何(正确实施)Web应用程序验证登录信息的方法,该信息存储在数据库中.只需以密码形式存储密码即可.通常,该方法是使用MD5盐(here is a description and some sample PHP code).您可以做的不是传输或存储明文密码,而是散列用户输入并根据存储的哈希值检查哈希值.匹配哈希对应于匹配密码.

编辑

这对FTP服务器的情况没有帮助,因为你无法修改它的源代码……

你可能感兴趣的:(c语言程序中如何加密密码)