gpt4 book ai didi

java - 混淆字符串

转载 作者:搜寻专家 更新时间:2023-10-31 19:54:38 25 4
gpt4 key购买 nike

我们在应用程序中使用了一些网络凭证。我刚刚反编译了该应用程序,并且能够看到诸如名称和密码之类的凭据。我真的不知道如何防止这种情况。我认为“混淆器”这个词是我必须走的方向。我们测试了 proguard 但它没有字符串加密或者我错了吗?

是否有一种简单且免费的方法来做到这一点?

谢谢。

最佳答案

抱歉,无论您尝试什么,这都行不通。如果您混淆/加密凭据,程序仍然必须能够在运行时解密它们。因此,加密 key 也必须在生成的字节码中的某个地方,因此可以获取它们,并在程序外部手动解密凭据(或者只是单步执行程序并在解密后读取凭据)。

你要做的是 Security by Obscurity它不起作用。

无论您做什么,如果程序可以在没有任何外部帮助的情况下在运行时获取凭据,那么只要有足够的时间,熟练的攻击者就可以做到同样的事情。

你应该做什么:

  1. 将凭据以纯文本形式存储在属性文件中。不要为加密而烦恼,它毫无意义。您必须确保您使用的数据库用户是只读的或只添加的或类似的,以防止任何损害。
  2. 让用户输入密码。如果它没有存储在字节码中,它就是安全的。他可以,例如输入他的密码并在数据库中拥有一个帐户...
  3. 使用安全且已知的身份验证机制。明文登录+密码不是那个。
  4. 不要让您的应用程序靠近数据库。在某处使用 API 设置服务,该服务将保存读取的数据库连接。您的应用程序可以连接到它并通过此 API 获取数据。这样,攻击者就无法直接访问您的数据库。不过,他可以调用新服务中的任何内容,因此您必须确保其中没有可访问的敏感数据。

关于java - 混淆字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28023998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com