之前发过一个帖子,说的是基于罗克韦尔 RSLOGIX 5000平台PLC ,加密功能块的功能。有部分网友很感兴趣。不少网友表示,他们急需此功能。想求详细做法。在此,我借平台,整理一下思路,详细介绍一下该功能。
首先,是目的,目的是什么?
大家知道,所有品牌的PLC,都设置有加密功能。一级密码,二级密码什么的。有的安全性高,有的稍低。但几乎都集成了加密功能。
但是,这些加密功能有没有缺陷呢?答案是肯定的。
首先,不少PLC只支持全部程序加密。如果你是一个大型成套设备或者一条生产线,程序里面有“属于自己核心知识产权的算法”需要保护。但是整个生产线程序如果都不给业主,会造成生产线维护困难。很多甚至在投标时候就要求必须公开程序,这样你就可能在赚钱和保密之间很难平衡。
其次,如果你的“PLC核心程序”是非常成熟且非常有价值的,即使你对整个程序全加密。但怎么保证自己公司的程序维护人员,不随便把程序拷贝出去为己用?
第三,如果你的“PLC核心程序”是非常成熟且非常有价值的,如果你把核心程序封装到了子程序里,别人可以轻轻松松无任何限制的调用你子程序了。你有办法吗?
第四,如果你是PLC编程人员,给人合作做一套设备,有没有办法,让别人用你一套程序,就得乖乖给你一套程序的奖金呢?
这些,当然都是可以实现的,其实方法非常简单,就是参照我们常见的对电脑软件加密方法理念。对子程序封装,然后用一套你的子程序,就必须在功能块上输入唯一的注册码。这样,你的程序,是不是就能实现程序应该有的价值了呢?
这段程序,我们是在AB的1756PLC上验证的,但是,程序原理适用于所有PLC。
具体的方法是,首先要读出PLC唯一的硬件序列号,然后,将序列号加入你自己编写出的算法。(要求算法重复的可能性小)。算出一个注册序号,并显示到功能块输出引脚。然后,将你的算法放到电脑程序里,写成一个注册机。将注册序号通过运算,得出一个PLC硬件唯一对应的注册码。这个注册码,就是你程序拿来卖钱的法宝了。而且是唯一不重复的。当然,子程序还要写很多的防暴力破解方法。
之前不少朋友,都想让我免费把程序给他们,在这里,我给大家说明一下,上段话,基本就是整个加密的核心思想,绝对没有半点保留。如果你们稍微用心一点,就可以自己写出来了。如果你们没时间,可以联系我,我可以兼职为你们写这段程序。就像我之前写的“SOCKET通讯”一样。