如何从反向工程师那里隐藏我的字符串价值?

时间:2014-03-18 06:08:56

标签: android proguard android-facebook android-twitter

我在Android上有一个应用程序。我在我的strings.xml文件上使用facebook键,twitterkeys。 我用proguard。但是当一个男人想要看到真正的代码,反编译myapp时,是的,因为我使用了proguard,所以很复杂。但我看到了我的弦乐价值。这是一个安全问题吗?我想隐藏它们或如何加密它们。

感谢

4 个答案:

答案 0 :(得分:0)

您可以在存储之前加密值,please go through此链接是使用AES算法加密字符串值的完整教程。

答案 1 :(得分:0)

使用您的文本数据创建一个加密文件并存储在资产和文件中。通过解密来从资产中读取它,是更好的解决方案之一

答案 2 :(得分:0)

@ user3086226

最好转换为MD5 hash.you可以试试这个。

public static String md5(String s) {
    MessageDigest digest;
    try {
        digest = MessageDigest.getInstance("MD5");
        digest.update(s.getBytes(), 0, s.length());
        String hash = new BigInteger(1, digest.digest()).toString(16);
        return hash;
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    return "";
}

答案 3 :(得分:0)

据我所知,如何实现目标的可行方法是对每个用户进行物理检查。它可能是用户必须填写一些个人数据的某种形式,因此术语“物理”可能不是这里的最佳选择。我想你可以半自动地做到这一点。

其他方法只会减慢逆向工程师的速度并使他的生活更加艰难。

如果您拥有对用户的控制权(例如,如果您的应用仅适用于某些公司员工),则可以通过提供密码安全下载站点来控制下载应用程序的人员,并仅通过邮件或公司员工提供该密码或另一种方式。

但毕竟 - 每个安全用户都可以成为向一些逆向工程师提供apk的坏人,所以你永远不会百分百安全,直到.apk格式以某种方式改变。