我想在我的应用程序中存储在线服务的密码,偶尔将日志数据传输到该服务。我的问题是如何以相对安全的方式将密码存储在代码中,从而很难通过逆向工程找到它。首选程序是什么?
编辑:用户未输入任何密码。密码是固定的,比方说password123
,我必须使用该密码登录在线服务,以使用户无法通过反向工程获得此密码的方式来传输数据。有没有一种方法可以不对其进行硬编码并将其隐藏在代码中?
答案 0 :(得分:4)
理想情况下,您不应将密码存储在客户端计算机上运行的源代码中。
对于这种情况,仍然可以通过在执行所需的身份验证/授权之后使用一些API
调用从服务器检索密码来避免硬编码。
如果您将密码存储在客户端运行的代码中,则无论进行混淆/加密/编码如何操作,仍然可以使用逆向工程来提取密码。
编辑:
厚客户端-所有逻辑都在客户端。没有托管服务器。它 只是为了保护我的电子邮件而租用服务器会被夸大 密码。真的没有其他解决方案吗?连接字符串如何 到数据库,然后在其他应用程序中防止反向 工程?
如上所述,您不能完全保护它,但是很难破解,因此可以尝试执行以下步骤。
答案 1 :(得分:1)
因此,您有一个String,并且希望在进行逆向工程时将其隐藏。
我建议使用MD5算法对您的String(Password)进行哈希处理,并将哈希存储在源代码中,并且仅将输入密码的哈希结果与您所存储的密码进行比较。
根据评论:
结果证明MD5不够加密!
看看this链接。