0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于动态加密计时催块程序的解决思路

PLC技术圈 来源:博途V15 作者:ypac 2021-04-13 15:55 次阅读

很多公众号都发过这个程序,这也许是很多乙方和甲方都曾经遇到过的事情~

非标行业是一个特殊的行业,面对设备发货到现场后迟迟不肯付款的和找各种理由拒绝搪塞验收的客户,必须的采取非常的手段,其中给设备加密定时锁机是一种优选的方案。一来可以提醒客户要遵守规则要求,按时验收,按时付款,二来不会给客户造成任何的损失,三来避免走法律途径冗繁的手续和律师代理费。

在这里介绍下动态加密计时催块程序的解决思路及博途V15的源程序供各位朋友参考。所谓动态密码,就是所用的解密密码是动态实时生成的,也就是说密码是随时间变化而变化。

过程是这样实现的。当调试人员在项目调试完成后,设置一个到计时天数,当天数到达后设备锁机,HMI上跳出解锁界面,这个时候点击HMI上的生成解锁码按钮,生成解锁码(解锁码是在动态验证码中挑选8位生成的,在此基础上还可以扩展出随机生成的解锁码。..。..。..。)。

然后客户把解锁码告诉给调试人员,调试人员根据解锁码计算出解密密码告诉给客户解密(调试人员是需要知道这个解密算法)。

加密计时模块

43e1d0b0-95cc-11eb-8b86-12bb97331649.jpg

程序块数据结构

440fd56e-95cc-11eb-8b86-12bb97331649.jpg

程序完成步骤

1、首先调用RD_LOC_T读取日期时间存入到FB块本地临时变量中,读取秒数,根据秒数计算天数

44236b7e-95cc-11eb-8b86-12bb97331649.jpg

444153aa-95cc-11eb-8b86-12bb97331649.jpg

2、调用西门子官方随机数生成块,并将随机数加上索引

445015b6-95cc-11eb-8b86-12bb97331649.jpg

3、将随机数按照索引的顺序,放入相应的寄存器,并转成字符并显示在HMI上,可以看到动态的字符变化的炫酷效果

445e9f50-95cc-11eb-8b86-12bb97331649.jpg

4、生成解锁码显示在HMI,客户把这个解锁码告诉调试人员,调试人员需要解锁码计算出密码。

447050ec-95cc-11eb-8b86-12bb97331649.jpg

5、制作解密算法(这个机密算法根据需要可以自己更改)并强转成DINT类型,并密码核对解密。

449e6af4-95cc-11eb-8b86-12bb97331649.jpg

44af4efa-95cc-11eb-8b86-12bb97331649.jpg

6、解密完成复位状态

44ffc678-95cc-11eb-8b86-12bb97331649.jpg

4514c14a-95cc-11eb-8b86-12bb97331649.jpg

编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HMI
    HMI
    +关注

    关注

    9

    文章

    589

    浏览量

    48553
  • 动态加密
    +关注

    关注

    0

    文章

    2

    浏览量

    5095

原文标题:【解密】 西门子PLC动态加密计时催款程序

文章出处:【微信号:xue_PLC,微信公众号:PLC技术圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数据库加密办法

    ,当我们聊到数据加密的时候,可以从这些角度入手来提高数据的安全性。 TDE手段 TDE也就是透明数据加密,是一种在数据库级别进行加密的技术。它对整个数据库、特定数据库文件或数据进行
    的头像 发表于 12-24 09:47 47次阅读

    浅谈加密芯片的一种破解方法和对应加密方案改进设计

    调用是的一些关键参数或数据Data没有存储在主MCU中,而是存储在加密芯片里,主MCU要正确运行函数FUNC需要使用到加密芯片里的Data数据,这就需要先从加密芯片将Data数据读取到主MCU。
    发表于 12-20 15:31

    加密核心是基于Rijndael AES-128,具有192位可编程参数的加密芯片

    加密芯片 - ALPU-C,该款加密芯片是ALPU系列中的高端IC,其加密核心基于RijntradAES-128,具有192位可编程参数。它是一个从设备,总通过串行总线与单片机一起运行。ALPU-C
    的头像 发表于 12-04 09:32 141次阅读
    <b class='flag-5'>加密</b>核心是基于Rijndael AES-128,具有192位可编程参数的<b class='flag-5'>加密</b>芯片

    UID加密安全启动原理分析

    本文导读 ZDP14x0系列芯片是内置开源GUI引擎的图像显示专用驱动芯片,在实际产品开发中需要加密保护,防止应用程序被读取和盗用,本文将介绍如何实现UID加密安全启动。 UID加密
    的头像 发表于 11-11 11:49 427次阅读
    UID<b class='flag-5'>加密</b>安全启动原理分析

    在bootloader和应用程序之间共享FEE

    电子发烧友网站提供《在bootloader和应用程序之间共享FEE.pdf》资料免费下载
    发表于 10-10 09:18 0次下载
    在bootloader和应用<b class='flag-5'>程序</b>之间共享FEE<b class='flag-5'>块</b>

    用于具有AES硬件加密功能的TM4C129器件的共享密钥引导加载程序

    电子发烧友网站提供《用于具有AES硬件加密功能的TM4C129器件的共享密钥引导加载程序.pdf》资料免费下载
    发表于 08-27 09:56 1次下载
    用于具有AES硬件<b class='flag-5'>加密</b>功能的TM4C129器件的共享密钥引导加载<b class='flag-5'>程序</b>

    求助,关于双面板运放PCB铺铜遇到的疑问求解

    1,在单极性运放PCB铺铜设计时思路:bottom layer 铺铜(电源地),TOP layer铺铜(信号地),信号地与电源地通过0欧姆电阻或者磁珠单点连接。这种思路合理吗? 2,电源一般需要铺铜吗? 3,信号地一般需
    发表于 08-16 08:12

    STM32不加密,内部的用户程序可以读出来吗?

    STM32不加密,内部的用户程序可以读出来吗?,如果能读应该用什么软件,如何读取呢
    发表于 05-16 08:12

    西门子博途:“自动化创建器”功能

    在使用“从(含虽有相关联的)生成源”功能对进行备份,重复上述恢复的动作,在观察程序的结果。
    的头像 发表于 04-30 12:57 2407次阅读
    西门子博途:“自动化<b class='flag-5'>块</b>创建器”功能

    西门子PLC实现动态加密计时催款功能的程序设计

    当调试人员在项目调试完成后,设置一个到计时天数,当天数到达后设备锁机,HMI上跳出解锁界面,这个时候点击HMI上的生成解锁码按钮,生成解锁码(解锁码是在动态验证码中挑选8位生成的,在此基础上还可以扩展出随机生成的解锁码..........)。
    的头像 发表于 04-24 11:05 1879次阅读
    西门子PLC实现<b class='flag-5'>动态</b><b class='flag-5'>加密</b><b class='flag-5'>计时</b>催款功能的<b class='flag-5'>程序</b>设计

    用IAR给STM8编程的每次下载完之后要给它加密,可以在程序里面写一段代码加密吗?

    我用IAR给STM8编程的,每次下载完之后要给它加密。有点麻烦,想问一下哪位大神有没有试过在程序里面写一段代码加密的?
    发表于 04-18 06:11

    STEP7-5.5-F程序中FB修改后的变化

    STEP7-5.5-F程序中FB修改后的变化
    发表于 04-07 11:46 648次阅读
    STEP7-5.5-F<b class='flag-5'>程序</b>中FB<b class='flag-5'>块</b>修改后的变化

    程序加密之辩:究竟是否应该加密

    一般都要加,尤其是做设备生产的,防同行,以前工作的单位是做乙方,PLC和上位机程序都不加密,最后被友商完整的复制过去。
    的头像 发表于 03-28 09:49 304次阅读

    STM32G4多个参数如何实现精准的计时

    计时精度:有的参数需要精确到1ms 有的参数需要100s systick已经用作精准延时,在延时中计数器会清零。 那么计时有什么好的方法呢? 感谢 大神们请指点个思路
    发表于 03-11 07:48

    什么是动态线程池?动态线程池的简单实现思路

    因此,动态可监控线程池一种针对以上痛点开发的线程池管理工具。主要可实现功能有:提供对 Spring 应用内线程池实例的全局管控、应用运行时动态变更线程池参数以及线程池数据采集和监控阈值报警。
    的头像 发表于 02-28 10:42 645次阅读