易语言怎么验证QQ和密码?
易语言怎么验证QQ和密码?如果账号和密码正确的话,就提示信息框:“账号和密码填写成功”,如果错误的就“账号或密码错误”。...
易语言怎么验证QQ和密码?如果账号和密码正确的话,就提示信息框:“账号和密码填写成功”,如果错误的就“账号或密码错误”。
展开
展开全部
前提是这个QQ的邮箱开通邮箱smtp服务
.版本 2
.支持库 internet
.判断开始 (编辑框1.内容 = “”)
信息框 (“请输入QQ帐号!”, #信息图标, )
返回 ()
.判断 (编辑框2.内容 = “”)
信息框 (“请输入QQ密码!”, #信息图标, )
返回 ()
.默认
.判断结束
.如果 (连接发信服务器 (“smtp.qq.com”, 25, 编辑框1.内容, 编辑框2.内容, ) = 真)
信息框 (“登录成功 ”,, )
.否则
信息框 (“登录失败”, #错误图标, )
返回 ()
.版本 2
.支持库 internet
.判断开始 (编辑框1.内容 = “”)
信息框 (“请输入QQ帐号!”, #信息图标, )
返回 ()
.判断 (编辑框2.内容 = “”)
信息框 (“请输入QQ密码!”, #信息图标, )
返回 ()
.默认
.判断结束
.如果 (连接发信服务器 (“smtp.qq.com”, 25, 编辑框1.内容, 编辑框2.内容, ) = 真)
信息框 (“登录成功 ”,, )
.否则
信息框 (“登录失败”, #错误图标, )
返回 ()
展开全部
详细的代码如下:
.支持库 spec
.支持库 dp1
.子程序 _按钮1_被单击
调试输出 (加密QQ (“07587311299.”, “!FM2”, “\x00\x00\x00\x00\x27\x4f\x45\xa6”))
.子程序 加密QQ, 文本型
.参数 密码, 文本型
.参数 验证码, 文本型
.参数 验证码位数, 文本型
.局部变量 i, 整数型
.局部变量 ret, 字节集
.局部变量 Text, 字节集
.局部变量 l, 整数型
.局部变量 密码A, 字节集
.局部变量 密码B, 文本型
.局部变量 密码C, 文本型
密码 = 取数据摘要 (到字节集 (密码))
ret = 取空白字节集 (取整 (取文本长度 (密码) ÷ 2))
l = 1
Text = 到字节集 (密码)
.变量循环首 (1, 取字节集长度 (Text), 2, i)
ret [l] = 十六到十QQ (字符 (Text [i]) + 字符 (Text [i + 1]))
l = l + 1
.变量循环尾 ()
密码A = 到字节集 (ret)
密码B = 子文本替换 (验证码位数, “\x”, , , , 真)
ret = 取空白字节集 (取整 (取文本长度 (密码B) ÷ 2))
l = 1
Text = 到字节集 (密码B)
.变量循环首 (1, 取字节集长度 (Text), 2, i)
ret [l] = 十六到十QQ (字符 (Text [i]) + 字符 (Text [i + 1]))
l = l + 1
.变量循环尾 ()
密码C = 到大写 (取数据摘要 (到字节集 (到大写 (取数据摘要 (密码A + 到字节集 (ret)) + 验证码))))
返回 (密码C)
.子程序 十六到十QQ, 整数型
.参数 十六进制文本, 文本型, , 待转换的十六进制文本
.参数 返回结果, 文本型, 参考 可空, 返回文本结果(如十进制数超出整数范围,可通过返回结果获得十进制文本)
.局部变量 中间文本, 文本型
.局部变量 结果, 长整数型
.局部变量 容器, 整数型
返回结果 = “”
.变量循环首 (1, 取文本长度 (十六进制文本), 1, 容器)
中间文本 = 取文本中间 (十六进制文本, 容器, 1)
结果 = (寻找文本 (“0123456789ABCDEF”, 中间文本, , 真) - 1) × 求次方 (16, 取文本长度 (十六进制文本) - 容器) + 结果
.变量循环尾 ()
.如果真 (是否为空 (返回结果) = 假)
返回结果 = 到文本 (结果)
.如果真结束
返回 (结果)
.支持库 spec
.支持库 dp1
.子程序 _按钮1_被单击
调试输出 (加密QQ (“07587311299.”, “!FM2”, “\x00\x00\x00\x00\x27\x4f\x45\xa6”))
.子程序 加密QQ, 文本型
.参数 密码, 文本型
.参数 验证码, 文本型
.参数 验证码位数, 文本型
.局部变量 i, 整数型
.局部变量 ret, 字节集
.局部变量 Text, 字节集
.局部变量 l, 整数型
.局部变量 密码A, 字节集
.局部变量 密码B, 文本型
.局部变量 密码C, 文本型
密码 = 取数据摘要 (到字节集 (密码))
ret = 取空白字节集 (取整 (取文本长度 (密码) ÷ 2))
l = 1
Text = 到字节集 (密码)
.变量循环首 (1, 取字节集长度 (Text), 2, i)
ret [l] = 十六到十QQ (字符 (Text [i]) + 字符 (Text [i + 1]))
l = l + 1
.变量循环尾 ()
密码A = 到字节集 (ret)
密码B = 子文本替换 (验证码位数, “\x”, , , , 真)
ret = 取空白字节集 (取整 (取文本长度 (密码B) ÷ 2))
l = 1
Text = 到字节集 (密码B)
.变量循环首 (1, 取字节集长度 (Text), 2, i)
ret [l] = 十六到十QQ (字符 (Text [i]) + 字符 (Text [i + 1]))
l = l + 1
.变量循环尾 ()
密码C = 到大写 (取数据摘要 (到字节集 (到大写 (取数据摘要 (密码A + 到字节集 (ret)) + 验证码))))
返回 (密码C)
.子程序 十六到十QQ, 整数型
.参数 十六进制文本, 文本型, , 待转换的十六进制文本
.参数 返回结果, 文本型, 参考 可空, 返回文本结果(如十进制数超出整数范围,可通过返回结果获得十进制文本)
.局部变量 中间文本, 文本型
.局部变量 结果, 长整数型
.局部变量 容器, 整数型
返回结果 = “”
.变量循环首 (1, 取文本长度 (十六进制文本), 1, 容器)
中间文本 = 取文本中间 (十六进制文本, 容器, 1)
结果 = (寻找文本 (“0123456789ABCDEF”, 中间文本, , 真) - 1) × 求次方 (16, 取文本长度 (十六进制文本) - 容器) + 结果
.变量循环尾 ()
.如果真 (是否为空 (返回结果) = 假)
返回结果 = 到文本 (结果)
.如果真结束
返回 (结果)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询