1.一种加密发电机组控制器的方法,其特征在于,包括以下步骤:
上位机读取发电机组控制器的单片机唯一id序列号;
上位机生成随机数a,并将所述随机数a插入到单片机唯一id序列号中某个位置,生成中间码a;其中,所述中间码a包括单片机唯一id序列号和所述随机数a;
上位机对所述中间码a进行md5校验,并将获得的md5校验值作为对应发电机组控制器的秘钥;
上位机将所述随机数a和所述秘钥写入相应发电机组控制器,对发电机组控制器进行加密。
2.根据权利要求1所述加密发电机组控制器的方法,其特征在于:在上位机将所述随机数a和所述秘钥发送至发电机组控制器之前,还执行:
上位机向所述发电机组控制器发送解锁指令;
所述发电机组控制器接收上位机发送的解锁指令,并判断解锁指令与预先设置的解锁指令是否一致;
若一致,则判定发电机组控制器解锁成功,允许发电机组控制器与上位机进行通讯,以接收所述随机数a和所述秘钥;若不一致,则判定发电机组控制器解锁不成功,不允许发电机组控制器与上位机进行通讯。
3.根据权利要求1所述加密发电机组控制器的方法,其特征在于:在发电机组控制器接收并存储所述随机数a和所述秘钥之后,还执行:
上位机向所述发电机组控制器发送加锁指令;所述发电机组控制器接收上位机发送的加锁指令,并判断加锁指令与预先设置的加锁指令是否一致;
若一致,则判定发电机组控制器加锁成功,结束发电机组控制器与上位机之间的通讯进程;若不一致,则判定发电机组控制器加锁不成功,并输出加锁不成功的警示信息。
4.根据权利要求1所述加密发电机组控制器的方法,其特征在于:上位机设置随机数生成模块,所述随机数生成模块用以生成两个字节的第一随机数;
上位机随机抽取单片机唯一id序列号中的两个字节作为第二随机数,对所述第一随机数和所述第二随机数求余处理,并将求余结果作为所述随机数a。
5.根据权利要求1所述加密发电机组控制器的方法,其特征在于:上位机设置随机数生成模块,用以生成第三随机数;上位机对所述第三随机数加密,并将加密后的第三随机数作为随机数a。
6.根据权利要求1所述加密发电机组控制器的方法,其特征在于:设置偏移量,根据所述偏移量对所述随机数a和所述秘钥在发电机组控制器内的存储地址进行偏移。
7.一种验证发电机组控制器的方法,其特征在于:基于权利要求1所述的加密发电机组控制器的方法对发电机组控制器进行加密;
发电机组控制器进入当前工作周期,开始验证时段计时;
当验证时段计时到达预设时间后,发电机组控制器开始读取单片机唯一id序列号和随机数b,将获得的随机数b插入单片机唯一id序列号中指定位置获得中间码b,对所述中间码b进行md5校验;并将md5校验结果与读取的秘钥进行比较;
若一致,则判定发电机组控制器安全验证通过;否则,判定发电机组控制器为盗版发电机组控制器,锁定发电机组控制器功能,并发出警告。
8.根据权利要求7所述的验证发电机组控制器的方法,其特征在于:统计发电机组控制器的开机次数;
当发电机组控制器开机时,判断所述开机次数是否大于阈值;若所述开机次数大于阈值时,则执行权利要求7所述的验证发电机组控制器的方法。
9.一种发电机组控制器加密系统,其特征在于:包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-6任一项所述的加密发电机组控制器的方法的步骤。
10.一种发电机组控制器,其特征在于:包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求7或8所述的验证发电机组控制器的方法的步骤。