怎么用lua脚本生成随机字符串

 我来答
欧章旭
2017-04-14 · 知道合伙人互联网行家
欧章旭
知道合伙人互联网行家
采纳数:238 获赞数:527
全国散文三等奖 广东昌盛日用品有限公司 总经理

向TA提问 私信TA
展开全部
既然是随机,那么我们当然就是要用到lua的随机函数了,但是lua的随机函数有点小毛病,如果时间太短,那么取到的随机数可能是一样的,如果随机的数字太小也有点毛病,谁用谁知道啊。全是眼泪啊。。所以我们的第一步是构造一个我们自己的随机函数。代码如图:

我们先写个随机数字试试水。代码如图,测试结果看红框标记处。

现在来试试随机字母组合。代码如图,测试结果看红框标记处。代码是不是也很简单,因为小写字母在ansic字母表里面是97-122,string.char()函数就是来把数字转成对应的ansic字符的。与之对应的是string.byte(),将字符转成数字,如string.byte('a')结果就是97

那么我们大写字母又怎么搞呢?还是看如图代码。因为大写字母的ansic字符范围是65-90,所以我们只要改掉范围就好了。

上面的步骤都算练习了,现在我们要挑战的是一个函数支持独立随机和组合随机,就是让我们的函数支持随机数字,随机小写字母,随机大写字母,随机数字和小写字母,随机数字和大写字母,随机大小写字母。怎么搞??先定义一个随机模式表。

然后就是编写我们的超级随机函数了。代码如图。

编写一个测试代码,生成全部七种模式随机字符。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式