我在做个设备要用到验证码的,就是手机收到验证码后,这个验证码是和时间有关的,在屏上输入验证码,在设定的期限内,就可以使用这个设备一次,在设定的期限外,验证码失效,为了保证在设定期限内不能使用第二次,必须要把验证码存放在PLC里,然后要做新的验证码做比较的,如果相同就说明是第二次使用。但是,我怎么存放这些验证码呢?我该怎么判断当前的验证码有没有使用过呢?是不是要用堆栈的?我该怎么设计这个算法,谢谢了!
最佳答案
1:我认为要实现这个验证码和时间相关,你的验证码,必须经过一定的算法(验证码经过解码后可以包含时间信息),当在PLC输入验证码后,首先PLC内部要进行解码,解码出时间,如果时间在你允许的范围内(和PLC 内部时间进行比较),则首先搜寻你内部的一个存放最近验证码的队列(队列大小根据需要设定),如果存在相同验证码,则说明已经使用,不能够再次使用,如果PLC内部队列里,没有搜寻出相同验证码,说明验证码有效,则程序内部设定相关标志位,运行启动设备。
2:一旦,验证码符合要求,则把新的验证码,存放到队列里,最早的验证码,弹出队列
3:PLC 要做相关系统时间设定的保护。 不能让别人随便更改时间。
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc229905.html