社区主页 文章详情

用你的Excel打造一个随机密码生成器

效率火箭 11-06 21:10 + 关注

用你的Excel打造一个随机密码生成器

用你的Excel打造一个随机密码生成器


密码管理的重要性不言而喻,火箭君也曾多次撰文提醒大家要主要自己的密码安全性。那么本期,就和火箭君一起在excel中打造随机密码生成器,让你的密码安全由你自己来掌握。

首先,我们要解决的问题是,如何创建密码中的各个字符。

>>>创建随机数字

用你的Excel打造一个随机密码生成器

随机数字的创建可能小伙伴们都比较熟悉,通过使用RAND()或者RANDBETWEEN()这两个函数,可以创建出从0~9这10个数字。但是要注意的是,RANDBETWEEN函数参数中的最大值也包含在随机结果中,因此最大值参数应该设定为9,而不是10。

当然如果你想生成只含数字的密码,比如生成一个5位数字,你也可以这样操作:

用你的Excel打造一个随机密码生成器

>>>创建随机字母

用你的Excel打造一个随机密码生成器

用你的Excel打造一个随机密码生成器

相较于大家熟知的随机数字,随机字母其实不太常用。创建随机字母,我们需要用到CHAR()函数,通过CHAR()函数将随机产生的10进制数字转换为ANSI码中对应的字符。

规则如下:

用你的Excel打造一个随机密码生成器

因此,大写字母对应的是65~90,而小写字母对应的则是97~122。

由此可见,如果我们要生成一个5位密码,且第一位为小写字母,第二位为数字,第三位为大写字母,第四、第五位又是数字,则可以如此操作:

用你的Excel打造一个随机密码生成器

>>>创建包含随机字母、数字与字符的密码

如果你仔细观察ANSI码,它其实还包含了对于一些特殊字符的定义,比如说感叹号为33,冒号为58。利用这个规则,我们还可以编写一个同时包含字母、数字与字符的随机值。

用你的Excel打造一个随机密码生成器

>>>创建随机长度且包含随机字母、数字与字符的密码

如果你还想进一步挑战难度,你也可以试着创建一个随机长度且包含随机字母、数字与字符的密码。当然,这靠函数有点强人所难,VBA则恰到好处:

Public Function RandomizeF(Num1 As Integer, Num2 As Integer)

Dim Rand As String

Application.Volatile

getLen = Int((Num2 + 1 - Num1) * Rnd + Num1)

Do

i = i + 1

Randomize

Rand = Rand & Chr(Int((85) * Rnd + 38))

Loop Until i = getLen

RandomizeF = Rand

End Function

复制上述代码,并在VBA中新建一个模块,将其复制,这样我们就可以在工作表中调用这个RandomizeF函数了。

用你的Excel打造一个随机密码生成器


未经授权,不得转载

展开阅读全文

打开App,查看更多好文内容

暂无评论,打开APP参与讨论

猜你喜欢
编辑精选
4
16
0
你已经点过赞了
新浪微博 QQ空间 微信好友 豆瓣
当前为触屏版
热门搜索