首先先画个图看需求和功能

这是一个完整的功能实现的方法,是要服务器还要进行双重验证。因为现在没需求没必要去来回核验,就做一个本地的就行了,现在的思路是:

那第一步肯定是服务端生成token,有多种思路比如根据时间+加密+特征码生成两个动态口令然后服务端相互验证,我这里本地生成一个就行了,用也只用到了时间简单加密

<style>
body {background-image:url(https://blog.niuzhaohang.top/图片地址 );background-repeat:no-repeat;background-position:center top;}<br />
</style>

<!--<meta http-equiv="refresh" content="2">-->

<center><span style="font-family: verdana; font-size: x-large;">
<!--?php $code=date("i")+"25";//根据分钟+25生成一个加密码 $tcode=$code+$code2+$code3+$code4+$code5+$code6+$code7;//多个加密码相加(相乘相除取整数都行) echo $tcode;//这里也可以取$tcode的某几位(以后完善) $tima=date("i"); ?-->
</span></center>

 

中间删了一些加密的过程,很简单的加密。

第二步SSL加密传输,因为根本没有双重核验我觉得这一步没啥必要,配个证书了事

第三步手机查询,手机查询我用的是E4A一个很简单很老的一个安卓程式编辑器,毕竟只需要调用浏览框就可以实现基本功能了,有需求以后根据加密方法改进。

事件 主窗口.创建完毕()
浏览框1.跳转("https://blog.niuzhaohang.top/位置")
结束 事件

事件 时钟1.周期事件()
进度条1.位置=到文本(60-取秒(取现行时间()))
如果 取秒(取现行时间())=0 则
浏览框1.重载()
结束 如果
结束 事件

事件 按钮1.被单击()
浏览框1.重载()
结束 事件

事件 按钮2.被单击()
结束程序()
结束 事件

第四步电脑核验,本该根据加密方法生成(以后记得继续学习补充上来)

易语言一个取网页文件就可以实现,需要精易模块

.版本 2
.支持库 internet

.子程序 _时钟1_周期事件

编辑框2.内容 = 到文本 (60 - 取秒 (取现行时间 ()))
进度条1.位置 = 60 - 取秒 (取现行时间 ())
.如果 (进度条1.位置 = 1)
时钟2.时钟周期 = 1000
.否则

.如果结束

.子程序 _时钟2_周期事件

返回文本 = 到文本 (HTTP读文件 (“https://blog.niuzhaohang.top/地址”))
code = 文本_取出中间文本 (返回文本, “size=5px&gt;”, “&lt;/font&gt;”)
编辑框3.内容 = code
时钟2.时钟周期 = 0

.子程序 _按钮1_被单击

时钟3.时钟周期 = 50
时钟4.时钟周期 = 100

.子程序 _时钟3_周期事件

.如果 (code = “”)
信息框 (“正在加载,请稍等一下”, 0, , )
.否则
.如果 (编辑框1.内容 = code)
载入 (窗口1, , 假)
窗口6.销毁 ()
时钟3.时钟周期 = 0
.否则
信息框 (“密码错误”, 0, , )
时钟3.时钟周期 = 0
.如果结束

.如果结束

.子程序 _时钟4_周期事件

时钟3.时钟周期 = 0

添加code和返回文本变量就OK了

但是这里边需要一个加密否则一个抓包啥都没了,用国产爱加密等软件都能加密,虽然也没啥用毕竟是直接取网页的

这就结束了,很简单的一个简单加密程序,可以用做本地密码保护之类的。

以后要学习并补充的:服务端相互核验,两个加密方法,防止抓包等等

遗留的问题:两个加密方法和服务端相互核验是怎么能保证令牌安全的?没有搞懂,按我这种思路的话只需知道一个加密方法就能破解令牌了。以后再说。

 

Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.