免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: hw80520997
打印 上一主题 下一主题

[C] 如何在程序中隐藏硬编码的字符串? [复制链接]

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
11 [报告]
发表于 2016-05-19 13:44 |只看该作者
hw80520997 发表于 2016-05-19 10:05
需求是这样的。客户端程序需要收集一些手机的本地信息然后加密传回服务器端。这个过程不希望被别人破译。一 ...

秘钥协商,DH算法。

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
12 [报告]
发表于 2016-05-19 16:36 |只看该作者
用RSA之类的非对称加密算法。为每次对话生成不同的随机密匙对,将公共密匙通过对话发给对方。密匙不保存,只在内存中。

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11
13 [报告]
发表于 2016-05-19 16:39 |只看该作者
当然,这之前的以验证会话对方身份正确为前提。

论坛徽章:
0
14 [报告]
发表于 2016-05-20 11:10 |只看该作者
我也有这个问题,目前是使用前再修其中几个字节, 如key[3]='#', key[5]='+',修改代码混杂在其他码流中。
没有特好的办法

回复 1# hw80520997


   

论坛徽章:
0
15 [报告]
发表于 2016-05-21 23:56 |只看该作者
呵呵,做过类似的,只能说防君子不防小人,动态调试的话一切都是扯谈。

做法是对原始字符串做一次加密,程序中要用到的时候再解密出来,

比如"abcdef"加密后得到"!@#$%",然后exe中就只看到后面这个,明白了吧

论坛徽章:
9
程序设计版块每日发帖之星
日期:2015-10-18 06:20:00程序设计版块每日发帖之星
日期:2015-11-01 06:20:00程序设计版块每日发帖之星
日期:2015-11-02 06:20:00每日论坛发贴之星
日期:2015-11-02 06:20:00程序设计版块每日发帖之星
日期:2015-11-03 06:20:00程序设计版块每日发帖之星
日期:2015-11-04 06:20:00程序设计版块每日发帖之星
日期:2015-11-06 06:20:00数据库技术版块每周发帖之星
日期:2015-12-02 15:02:47数据库技术版块每日发帖之星
日期:2015-12-08 06:20:00
16 [报告]
发表于 2016-05-23 18:21 |只看该作者
我觉得没有必要弄这么复杂, 直接zlib压缩就可以了, 压缩后就是一堆谁也看不懂的数据了, 还不放心, 那么取反一次, 现在是天书了,  代码也简单, 还不容易出错,  

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
17 [报告]
发表于 2016-05-25 16:26 |只看该作者
本帖最后由 yulihua49 于 2016-05-25 16:32 编辑

告诉你用秘钥协商算法,即DH算法,无需保存任何字节串。

搜索一下 “密钥协商协议”。
http://blog.csdn.net/huangzhq/article/details/378703

论坛徽章:
1
技术图书徽章
日期:2014-03-06 15:32:30
18 [报告]
发表于 2016-05-25 23:10 |只看该作者
客户端打包公钥.
对称密钥在客户端随机生成,用来加密数据.
用公钥加密对称密钥.
将密文和被公钥加密的密钥发送到服务器.

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
19 [报告]
发表于 2016-05-26 13:21 |只看该作者
本帖最后由 yulihua49 于 2016-05-26 14:38 编辑
cobras 发表于 2016-05-19 16:39
当然,这之前的以验证会话对方身份正确为前提。

我们经常是在连接之后,身份认证之前需要先行协商密钥,然后发送加密信息进行认证。
你这个流程不行。

正确的做法:
连接成功后
客户端发一个协商包,(天王盖地虎)
服务器回一个协商包。(宝塔镇河妖,黑话对了才有后边的)
双方据此生成相同的密钥。
然后
客观端发送认证包(加密的)
服务器回认证成功包。

以后才可能有公钥私钥可用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP