[按键精灵]密码生成器源码讲解

大家好,我是郭立员,今天是一篇密码生成器源码讲解的教程

一、效果演示:

二、源码分享

("密码生成器")("密码生成器","文字框1","密码组合:")("密码生成器","new_row_1")("密码生成器","line_1")("密码生成器","new_row_1")("密码生成器","多选框1","数字",false)("密码生成器","多选框2","大写字母",false)("密码生成器","多选框3","小写字母",false)("密码生成器","new_row_1")("密码生成器","多选框4","自定义字符",false)("密码生成器","输入框1","",250)("密码生成器","new_row_1")("密码生成器","new_row_1")("密码生成器","文字框1","数量设置:")("密码生成器","new_row_1")("密码生成器","line_1")("密码生成器","new_row_1")("密码生成器","文字框2","密码长度")("密码生成器","输入框2","6",154)("密码生成器","文字框3","生成数量")("密码生成器","输入框3","1",154)("密码生成器","new_row_1")("密码生成器","按钮1","生成",630,100)("密码生成器","new_row_1")("密码生成器","new_row_1")("密码生成器","结果显示","",630,300)("密码生成器","new_row_1")("密码生成器","new_row_1")("按钮1",生成)("密码生成器")Function生成()Dim库Dim数字=("多选框1")If数字["多选框1"]Then库=库"0123456789"IfDim大写=("多选框2")If大写["多选框2"]Then库=库"abcdefghijklmnopqrstuvwxyz"IfDim小写=("多选框3")If小写["多选框3"]Then库=库UCase("abcdefghijklmnopqrstuvwxyz")IfDim自定义=("多选框4")If自定义["多选框4"]ThenDim自定义字符=("输入框1")库=库自定义字符["输入框1"]IfTracePrint库If库=nullThenTracePrint库ShowMessage"未勾选密码组合"IfDim数量=("输入框3")TracePrint数量["输入框3"]Dim长度=("输入框2")TracePrint长度["输入框2"]Dim结果={null}Fori=1to数量["输入框3"]Dim随机字符=""For长度["输入框2"]Dim随机数=int(len(库)*Rnd()+1)随机字符=随机字符mid(库,随机数,1)Next结果[i]=随机字符NextTracePrintjoin(结果,"|")("结果显示",join(结果,"\n"),630,300)Function

三、原理讲解

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

(1)随机库的构建

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

0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

(2)随机数的范围

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

(3)得到单一随机字符

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

(4)获取随机字符段

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

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

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

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

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

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

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

=正文完=

版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。

相关推荐