关于通讯协议简单加密与解密

在工作中总是遇到一些奇奇怪怪的问题,今天突然意识到,好记性不如烂笔头。

        这也是我的一份博客。之后在工作中遇到的问题也会写成博客后续也供自己学习和回顾。

如果不涉及到机密算法和机密控制逻辑,也会将经验和职场干货分享出来,

        这是我在一家单位实习的时候,发现通讯协议和实际逻辑分析仪读出来的不一致,经过最近查证程序,和自我学习(问AI)明白了原因。之前我一直以为,这么简单的通讯协议还要加什么密,(以前做的东西从来不加密)后来发现,这个行业抄袭比较严重,这么做也是保证销售量,之前遇到过一家客户,在竞争对手公司拿了一块板,给我们做方案,竞争对手做的整体方案很贵,但是分开的话我们的性价比更高。他拿竞争对手的板子过来我们与他通讯。经过分析和有协议说明,是简单串口9600波特率。直接明码,给什么值就实际反馈什么数据效果,这样就损失订单量。

        我只说简单加密,就是异或。将数据异或后,发出去,接收端再异或回去,就还原了数据的真实性。例如0x8C^0xD2=5E,那么0x5E^0xD2等于8C,这就完成了一次加密和解密,加密的秘钥是0XD2这个秘钥可以随便取值。通常来秘钥(0xD2)bu不会应用于所有字节,而是每一个字节都用不同的秘钥,甚至这个秘钥都可以自定义。

        当然如果单片机空间够大,完全可以吧位置交换,再异或,这样就增加了解密的难度,我现在想到的难度是将每个字节的所有位打乱,然后再异或。再发送,这样的缺陷就是空间占比太大,阅读不易。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值