本发明涉及一种基于PLC的动态密码保护系统,本发明还涉及一种基于PLC的动态密码保护方法,属于密码生成和保护领域。
背景技术:
在工业控制领域,设备生产商经过多年行业积累,常常有一些自己独有的功能体现在设备里。设备生产商为了保护自己的知识产权,可能会限制某些功能的使用或采取收费模式。通过密码解锁这些功能。现有的密码解锁方法,缺点是密码为固定密码,容易被其他人记录造成密码泄露。如果采用每台设备一个密码必然造成每台设备需要修改程序,加大软件工程师的服务量。另外,由生产厂商在现场解锁功能会增加设备生产商的服务量。现有方法只能提前在程序中预先设定好允许使用时间,难以d性的控制解锁功能的允许使用时间。
技术实现要素:
本发明的目的在于提供一种基于PLC的动态密码保护系统和方法,以解决上述问题。
本发明采用了如下技术方案:
一种基于PLC的动态密码保护系统,其特征在于,包括:加密模块和解密模块,其中,加密模块具有:钥匙码加密子模块,设定一个钥匙码,将原始数据和钥匙码进行加减或乘除运算,产生加密数据;替换加码子模块,预先定义好替换码,将原始数据x进行逐个替换,得到结果y;以及矩阵变化加密子模块,输入信息为动态码,序列号,允许使用时间,以上三个部分经过处理后都变成a位数据,组成3行a列矩阵做为输入,设置一个矩阵顺序加密码,由换列顺序码和换行顺序码组成,以矩阵顺序码作为规则改变行列顺序产生新的3行a列矩阵,将3行a列矩阵一共3a位数据做为加密结果输出,加密模块运用三个子模块中的至少两个对动态码、序列号和允许使用时间进行加密,解密模块,相对于使用子模块进行加密的过程逆向运行,对加密后的数据进行解密。
进一步,本发明的基于PLC的动态密码保护系统,还可以具有这样的特征:其中,加密模块使用全部三个子模块对动态码、序列号和允许使用时间进行加密。
进一步,本发明的基于PLC的动态密码保护系统,还可以具有这样的特征:其中,加密模块依次使用钥匙码加密子模块、替换加码子模块和矩阵变化加密子模块对动态码、序列号以及允许使用时间进行加密。
本发明还提供一种基于PLC的动态密码保护方法,利用如上述任意一项的基于PLC的动态密码保护系统进行密码保护,其特征在于,包括如下步骤:
步骤一:设定加密规则;
步骤二:PLC提供动态码和模块序列号;
步骤三:设定允许使用时间,然后使用加密模块对动态码、模块序列号和允许使用时间进行加密生成动态密码;
步骤四:将动态密码传送给用户,在设备上的解密模块中进行解密,得到密码。
进一步,本发明的基于PLC的动态密码保护方法,还可以具有这样的特征:其中,动态密码是通过采集plc开机时时间或者plc程序每次上电生成一个随机数而得到的。
进一步,本发明的基于PLC的动态密码保护方法,还可以具有这样的特征:其中,模块序列号是PLC的序列号,用来限制每个plc密码不同。
进一步,本发明的基于PLC的动态密码保护方法,还可以具有这样的特征:在步骤四中,解密时还包括步骤:PLC将由动态码解密出的PLC序列号和PLC自身的序列号进行比对,如果一致,那么将使用时间赋值给内部变量,并打开相应功能。
先采集内部年月日,保存到几个内部存储区。然后做对比,过关了给个置位。这个置位关闭你程序最主要的一个地方。比如运行按钮。你还可以做几个对比,触摸屏设置一个输入密码框,设置1就是第一路通,然后你置位1到时间了关闭第一路。设置2代表第二路通。你可以做很多通道。比如分期付款,到齐付了给第二路密码。付完了给后面没有置位关闭的密码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)