ESP8266 代码如何加密?

2019-12-15 11:45发布

目前用ESP8266 开发了一款物联网方向的产品,主要是实现手机app 通过云服务器与产品进行数据通信;ESP8266本身是外挂FLASH,如何可以做到即使别人把Flash代码完全拷贝出来,也不用担心被别人直接拿来用~跪求~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
29条回答
zljcat3721
2019-12-18 04:31
esp8266即然可以上互联网,可以利用云服务器来进行授权加密,前提是esp8266中程序一启动就检授权,没有授权的,不能正常使用
1、新刷固件模块,第一次启动,在连上路由器后即向云服务器上报模块id等硬件信息,并保存在云服务器数据库中,这个是产品ID的原始库
2、在云服务器中对产品id数据记录,有一个授权标志字段,由人工进行标识,是否授权。
3、模块第二次启动,上报id数据的同时,与云服务器数据库中的id对比,如果云服务器数据库中已存在ID,且已授权,就可以获取到密钥(使用可逆加密算法),esp8266获取密钥后进行解密,
将解密数据与esp8266的硬件id一起进行可逆加密,即然是可逆,要多密加几次(不能外泄,就算有高手能破出至少增加破解难度),将加密数据保存到模块上用于授权校验。
3、第三次启动,即已写好授权,启动就会校验授权,如果验证通过就可以正常使用了。
4、如果克隆了,因为esp8266每个模块的ID不同,校验自然通不过。
以上是出厂前做的,除人工在数据库里标识授权外(那也是分分钟的事情),都可以自动完成(多启动几次)。
你也可以让模块每次启动时上网校验授权,如果发现数据里有没有授权记录的ID,排除自家模块,那就是你的产品有盗版了。

一周热门 更多>