易语言动态密码例程源码
.版本 2
.支持库 dp1
.程序集 程序集1
.程序集变量 skn, Ex_DirectUI
.程序集变量 标签1, 标签_Ex
.程序集变量 标签2, 标签_Ex
.程序集变量 标签3, 标签_Ex
.程序集变量 进度条1, 进度条_Ex
.程序集变量 g_hwnd, 整数型
.程序集变量 上一时间, 日期时间型
.子程序 _启动子程序, 整数型, , '
g_hwnd = 窗口_创建 (0, “动态密码”, , , 380, 250, , , , )
skn.挂接皮肤 (g_hwnd, #背景, #白色, #标题栏_图标 + #标题栏_标题 + #标题栏_关闭按钮, 200, #底图方式_拉伸, , , , , , , , )
标签1.创建 (g_hwnd, 80, 60, 222, 46, “动态密码”, , , , , 假, , “楷体”, 28, , #文本对齐_居中, , , )
标签2.创建 (g_hwnd, 80, 125, 222, 46, “”, , , , , 假, , “黑体”, 25, , #文本对齐_居中)
标签3.创建 (g_hwnd, 132, 213, 118, 27, “”, , , , , 假, , “宋体”, 18, , #文本对齐_居中)
进度条1.创建 (g_hwnd, 80, 200, 222, 10, 0, 0, 60, , , , , , )
skn.置进入特效 (#特效_进入_渐显)
skn.置退出特效 (#特效_退出_渐隐)
skn.事件_挂接消息 (&窗口消息函数)
设置时钟 (g_hwnd, 141414, 500, &时钟事件_id_141414)
窗口_消息循环 ()
返回 (0)
.子程序 窗口消息函数, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wparam, 整数型
.参数 lparam, 整数型
.如果真 (msg = #事件_销毁)
销毁时钟 (g_hwnd, 141414)
PostQuitMessage (0)
.如果真结束
返回 (-1)
.子程序 时钟事件_id_141414
.局部变量 时间文本, 文本型
.局部变量 现行时间, 日期时间型
.局部变量 md5, 文本型
.局部变量 md5字节集, 字节集
.局部变量 密码全文本, 文本型
.局部变量 动态密码, 文本型
.局部变量 i_0, 整数型
现行时间 = 取现行时间 ()
.如果真 (取分钟 (上一时间) ≠ 取分钟 (现行时间))
上一时间 = 取现行时间 ()
时间文本 = 到文本 (取年份 (现行时间)) + 到文本 (取月份 (现行时间)) + 到文本 (取日 (现行时间)) + 到文本 (取小时 (现行时间)) + 到文本 (取分钟 (现行时间))
md5 = 取数据摘要 (加密数据 (到字节集 (时间文本), “pms”, 2))
md5字节集 = 到字节集 (md5)
.计次循环首 (取字节集长度 (md5字节集), i_0)
密码全文本 = 密码全文本 + 到文本 (到数值 (md5字节集 [i_0]))
.计次循环尾 ()
动态密码 = 取文本中间 (密码全文本, 3, 1) + 取文本中间 (密码全文本, 8, 1) + 取文本中间 (密码全文本, 11, 1) + “ ” + 取文本中间 (密码全文本, 16, 1) + 取文本中间 (密码全文本, 21, 1) + 取文本中间 (密码全文本, 25, 1)
标签2.标题 (动态密码, #动画类型_移动_自右向左, 15, 120)
标签3.标题 (到文本 (取小时 (现行时间)) + “:” + 到文本 (取分钟 (现行时间)))
密码全文本 = “” ' 防止变量【密码全文本】为程序集变量,时钟里没有初始化,导致最后取密码值会不变。
.如果真结束
进度条1.位置 (到数值 (取秒 (现行时间)))
易语言动态密码源码、
易语言SKN界面库
易语言令牌转换成动态码