在程序中如何将字符串常量进行加密

 我来答
司马刀剑
高粉答主

2018-07-05 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7613万
展开全部
首先,要对这个常量字符串进行加密。
然后,加密用的密码(密钥)需要进行特殊处理。
比如:要保护字符串123456,用密钥13579进行加密。
密钥13579的16进制数组形式为:{0x31, 0x33, 0x35, 0x37, 0x39, 0x00}
你可以对这个数组进行数据干扰。比如:高位乱填数据(因为你知道是3),低位都加/减某数值:
变为了:{ 0xA3, 0xF5, 0x67, 0xD9, 0x3A, 0x00 }
你在代码中对每一位进行恢复:
*p &= 0x0F, *p |= 0x30, *p -= 0x02,如此得到你的原始密码:13579;
反汇编看到的你的密钥串为:0xA3, 0xF5, 0x67, 0xD9, 0x3A, 0x00。
不知道你思路的话,只能碰运气猜啦。

在上面两种干扰方法基础上,你甚至还可以把高低位调换,这样就又加了一层干扰信息。
别人想破解也得好好猜一会了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式