微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Android应用程序中的秘密密钥的反黑客解决方案?

我需要在应用程序中存储一个私人字符串键.它的值永远不会改变,并且在代码中手动设置.我不能明显地将它存储为String,因为逆向工程方法显示它,即使使用混淆.

你如何建议我保护这个私钥?

我虽然将其保存到数据库中,但是数据库也可以从手机中拔出.

PS.这个关键是一个特殊的参数,所以一个重要的方法,它至关重要的是任何人都不知道的!这不是解密密钥.该字符串将用作加密方法(md5或类似的)的参数,然后将结果发送到我们的Internet服务.

编辑

对不起,让它变得如此复杂我以为我可以尽可能少的信息得到一个答案.

该应用程序将允许用户将一些文本发送到Internet服务,然后将该文本发布到网站.我们需要确保通过Android手机发送文本,因为任何Web机器人脚本都可以模仿Android手机并发布垃圾邮件.由于在手机上不受欢迎的验证码方法,将会有一个秘密密钥,通过md5(还有一些其他东西)来生成哈希码.这个哈希将被发送到Internet服务.互联网服务将使用相同的密钥来获取md5结果,然后比较它来查看发件人是手机还是一些机器人.

这是我最多允许说的.我希望足够了

解决方法

我建议你重新考虑你的安全架构.应用程序随附的任何东西都是可以发现的. (例如,Android的许可证验证库设计为使公钥随应用程序一起提供.)

一种可能性是应用程序从服务器检索密钥(通过安全套接字或https连接).这显然会要求应用程序向服务器提交某种识别/验证(可能基于用户输入).

如果您正在使用密钥进行加密,那么再来看一下公钥加密应该如何运作.你的应用程序应该有公钥;互联网服务然后可以使用匹配的私钥进行解密.

原文地址:https://www.jb51.cc/java/122276.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐