首页 » 排名链接 » [按键精灵]密码生成器源码讲解(生成器密码字符随机随机数)

[按键精灵]密码生成器源码讲解(生成器密码字符随机随机数)

乖囧猫 2024-11-20 04:42:19 0

扫一扫用手机浏览

文章目录 [+]

一、效果演示:

二、源码分享

UI.NewLayout ("密码生成器")UI.AddTextView("密码生成器", "文字框1", "密码组合:") UI.NewRow("密码生成器", "new_row_1")UI.AddLine ("密码生成器", "line_1")UI.NewRow("密码生成器", "new_row_1")UI.AddCheckBox("密码生成器", "多选框1","数字", false)UI.AddCheckBox("密码生成器", "多选框2","大写字母", false)UI.AddCheckBox("密码生成器", "多选框3","小写字母", false)UI.NewRow("密码生成器", "new_row_1")UI.AddCheckBox("密码生成器", "多选框4","自定义字符", false)UI.AddEditText("密码生成器", "输入框1", "",250) UI.NewRow("密码生成器", "new_row_1")UI.NewRow("密码生成器", "new_row_1")UI.AddTextView("密码生成器", "文字框1", "数量设置:") UI.NewRow("密码生成器", "new_row_1")UI.AddLine ("密码生成器", "line_1")UI.NewRow("密码生成器", "new_row_1")UI.AddTextView("密码生成器", "文字框2", "密码长度") UI.AddEditText("密码生成器", "输入框2", "6",154) UI.AddTextView("密码生成器", "文字框3", "生成数量") UI.AddEditText("密码生成器", "输入框3", "1",154) UI.NewRow("密码生成器", "new_row_1")UI.AddButton("密码生成器", "按钮1", "生成",630,100) UI.NewRow("密码生成器", "new_row_1")UI.NewRow("密码生成器", "new_row_1")UI.AddEditText("密码生成器", "结果显示", "",630,300) UI.NewRow("密码生成器", "new_row_1")UI.NewRow("密码生成器", "new_row_1")UI.SetOnClick("按钮1", 生成)UI.Show ("密码生成器")Function 生成() Dim 库 Dim 数字= UI.GetValue("多选框1") If 数字["多选框1"] Then 库 = 库&"0123456789" End If Dim 大写= UI.GetValue("多选框2") If 大写["多选框2"] Then 库 = 库&"abcdefghijklmnopqrstuvwxyz" End If Dim 小写= UI.GetValue("多选框3") If 小写["多选框3"] Then 库 = 库&UCase("abcdefghijklmnopqrstuvwxyz") End If Dim 自定义= UI.GetValue("多选框4") If 自定义["多选框4"] Then Dim 自定义字符= UI.GetValue("输入框1") 库 = 库&自定义字符["输入框1"] End If TracePrint 库 If 库 = null Then TracePrint 库 ShowMessage "未勾选密码组合" End If Dim 数量 = UI.GetValue("输入框3") TracePrint 数量["输入框3"] Dim 长度 = UI.GetValue("输入框2") TracePrint 长度["输入框2"] Dim 结果 = {null} For i = 1 to 数量["输入框3"] Dim 随机字符 = "" For 长度["输入框2"] Dim 随机数 = int(len(库)Rnd()+1) 随机字符 = 随机字符 & mid(库,随机数,1) Next 结果[i] = 随机字符 Next TracePrint join(结果,"|") UI.SetEditText ("结果显示", join(结果,"\n"),630,300) End Function

三、原理讲解

[按键精灵]密码生成器源码讲解(生成器密码字符随机随机数) 排名链接
(图片来自网络侵删)

关于动态界面部分的代码就不说了,按照自己喜欢的样子搭建就行,重点说说随机字符的生成部分。

(1)随机库的构建

所谓随机库就是生成随机字符的来源,比如我们这个例子中,随机的可能性有数字、大写字母、小写字母和自定义的字符。

把所有随机的可能性拼接在一起就得到随机库了。

0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

(2)随机数的范围

所有随机相关的操作,本质上都是由随机数控制的,那么本次案例中随机数的范围是1-随机库的字符数,如果随机库有100个字符,那么随机数的范围就是1-100。

(3)得到单一随机字符

在得到一个有效的随机数后,把它当做随机库中每个字符的编号,这样就可以得到一个随机的字符。

(4)获取随机字符段

重复执行获取单一随机字符,把多个随机字符拼接在一起就是随机字符段,通过控制重复的次数,就可以指定随机字符段的长度了。

(5)生成多个随机字符段

重复执行获取随机字符段的操作,注意每次生成前先清空上一次的生成结果。

写到这里简单的随机字符就写完了,下面做一些延展:

(1)生成首字母的随机字符

(2)去掉接近的字符,比如0和o,1和L,为了防止生成的随机字符对于使用者有干扰,可以去掉这些字符。

像这些扩展功能,其实就是调用不同的随机库,比如首字母,就是第一个随机数调用的随机库是字母,同理去掉接近字符是在随机库里面去掉这些字符。

=正文完=

标签:

相关文章

甲骨文协议价,介绍区块链技术的新纪元

随着科技的飞速发展,区块链技术逐渐成为全球瞩目的焦点。作为区块链技术的代表之一,甲骨文协议价凭借其独特的优势,正引领着区块链行业的...

排名链接 2024-12-31 阅读0 评论0

顾春华C语言编程,探索与创新之路

在计算机科学领域,C语言作为一种经典的编程语言,一直备受瞩目。顾春华作为我国C语言编程领域的杰出代表,其作品独具匠心,为广大编程爱...

排名链接 2024-12-31 阅读0 评论0