• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

LUA 字符串密码格式校验

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近工作中遇到需要使用LUA脚本进行字符串的密码校验,利用业余时间进行下总结:

1、Ubuntu下安装LUA,只需要一个执行udo apt-get install lua5.2即可,本来想安装5.3,但是失败了,所以只安装了5.2:

2、先简单写个LUA脚本,实验下是否好用:

         

3、然后执行lua ./checkpass.lua查看结果:

4、接下来补充完整的校验密码函数(格式要求是只能输入8为16进制密码)


5进行简单的密码验证:

6、下面对代码中使用的LUA进行简单的介绍

6.1 数字型for(numeric for)

for var=exp1,exp2,exp3 do

<执行体>

end

var 从exp1变化到exp2,每次变化都以exp3作为步长(step)递增var,执行一次执行体。

第三个表达式exp3可选,若不指定的话,Lua会将步长默认为1

例如:for i=1,f(x) do print(i) end

   for i=10,1,-1 do print(i) end

注意:for循环的3个表达式是在循环开始前一次性求值的。

6.2 泛型for(generic for)

泛型for循环通过一个迭代器(iterator)函数来遍历所有值:

例如1:打印数组a的所有值

for i,v in ipairs(a) do

print(v)

end

Lua基础库提供了ipairs,这是一个用于遍历数组的迭代器。在每次for循环中,i会被赋予一个索引值,同时v被赋予一个对应于该索引的数组元素值。

例如2:打印table t中所有的key

for k in pairs(t) do

print(k)

end

从外观看泛型for比较简单,但其实它是非常强大的。通过不同的迭代器,几乎可以便利所有的东西。

标准库提供了几种迭代器,包括用于迭代文件中每行的(io.liens)、迭代table元素的(pairs)、迭代数组的(ipairs)、迭代字符串中单词的(string.match)等

7、LUA中的字符串

字符串长度:string.len(s)

将一个字符重复N遍:string.rep(s,n) 或 s:rep(n)

 将字符串转换成大写:string.upper(s)

将字符串转换成小写:string.lower(s)

从字符串s中提取第i个到第j个字符:string.sub(s,i,j)

string.char接受零个或多个整数,并将每个整数转换成对应的字符,然后返回一个由这些字符连接而成的字符串。

string.char(97,98,99) = abc

string.byte(s,i)返回字符串s中第i个字符的内部数值表示,第二个参数是可选的,调用string.byte(s)可返回字符串s中第一个字符的内部数值表示。

string.byte("abc",2) = 98

string.byte("abc") = 97

string.byte("abc",-1) = 99


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
unity面试——Lua 元表发布时间:2022-07-22
下一篇:
基于Springboot + aop + Lua 的Redis 分布式限流器发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap