马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
<p>1、客户为了便于维护现场设备,但同时又避免终端客户随意修改设备参数,故采用动态密码赋予终端客户临时权限,动态密码每小时自动更新一次;</p><p>2、此用户等级为不同级别的保护,但是密码均为固定不可自动变更的;</p><p>3、对数值输入对话框进行保护,并赋予密码6等级;</p><p>4、通过系统寄存器的运算和赋值,将用户等级更改为动态密码,此动态密码与时间相关,并赋予计算公式,得到密码赋给SRW10118,每次需要赋予终端客户临时权限时,只需根据计算公式算出密码,并将此密码告知终端用户即可。</p><p>5、代码如下:</p><p>#include <macro.h></p><p>int MacroMain()</p><p>{</p><p>// Here to add macro code.</p><p>unsigned short data[4] = {0};</p><p>unsigned short p1 = 0;//年</p><p>unsigned short p2 = 0;//月</p><p>unsigned short p3 = 0;//日</p><p>unsigned short p4 = 0;//时</p><p>unsigned int p5,p6;</p><p>char mima1[8] = {0};</p><p>char mima2[8] = {0};</p><p>GetMem(data,@时间@,0,4*sizeof(unsigned short));</p><p>p1 = data[0];</p><p>p2 = data[1];</p><p>p3 = data[2];</p><p>p4 = data[3];</p><p>p5=p1*p2+p3*p4;//计算公式</p><p>p6=p4*3600+p2*30;</p><p>mima1[0] = (p5/10000+0x30);</p><p>mima1[1] = ((p5%10000/1000)+0x30);</p><p>mima1[2] = ((p5%1000/100)+0x30);</p><p>mima1[3] = ((p5%100/10)+0x30);</p><p>mima1[4] = ((p5%10)+0x30);</p><p><br/></p><p>mima2[0] = (p6/10000+0x30);</p><p>mima2[1] = ((p6%10000/1000)+0x30);</p><p>mima2[2] = ((p6%1000/100)+0x30);</p><p>mima2[3] = ((p6%100/10)+0x30);</p><p>mima2[4] = ((p6%10)+0x30);</p><p>SetMem(mima1,@密码@,0,8);</p><p>SetMem(mima2,@密码@,4,8); </p><p><br/></p><p>return 0;</p><p>}</p><p><br/></p> |