加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:30:59 所属栏目:Java 来源:网络整理
导读:我需要在应用程序中存储一个私人字符串键.它的值永远不会改变,并且在代码中手动设置.我不能明显地将它存储为String,因为逆向工程方法会显示它,即使使用混淆. 你如何建议我保护这个私钥? 我虽然将其保存到数据库中,但是数据库也可以从手机中拔出. PS.这个关
我需要在应用程序中存储一个私人字符串键.它的值永远不会改变,并且在代码中手动设置.我不能明显地将它存储为String,因为逆向工程方法会显示它,即使使用混淆.

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

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

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

编辑

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

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

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

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读