【VBA研究】生成随机密码

作者:iamlaosong

很简单的一个功能,网上也有很多在线生成器,也有小工具可以下载,这儿用VBA做一个,结果就保存到当前工作表中,简单、快速。生成函数也可以放到其它程序中使用。函数实现的流程是:用一个变量保存所有用到的字符,然后根据级别取不同的子串,最后产生随机数,从子串中取出字符合并出随机密码。程序如下:

'生成密码并保存到当前工作表中
Sub GetPassword()
    len1 = Cells(2, 3)
    lev1 = Cells(2, 4)
    num1 = Cells(2, 5)
    maxrow = ActiveSheet.UsedRange.Rows.Count
    If maxrow >= 2 Then
        Range("A2:A" & maxrow).ClearContents
    End If

    For row1 = 2 To num1 + 1
        Cells(row1, 1) = GenPasswd(len1, lev1)
    Next row1

End Sub

'生成随机密码函数,1级=数字,2级=数字+小写字母,3级=数字+大小写字母,4级=数字+大小写字母+符号
Function GenPasswd(length, level)
    Dim allstr, substr, passwd As String

    allstr = "[email protected]#$%^&*()"
    Select Case level
    Case 1
        strlen = 10
    Case 2
        strlen = 36
    Case 3
        strlen = 62
    Case Else
        strlen = 72
    End Select
    substr = Left(allstr, strlen)
    'Debug.Print substr
    passwd = ""
    For i = 1 To length
        passwd = passwd & Mid(substr, Int(Rnd * strlen + 1), 1)
    Next
    GenPasswd = passwd
End Function

本程序的下载地址:点击打开链接

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-29 05:06:58

【VBA研究】生成随机密码的相关文章

【VBA研究】VBA做了个简单的试题生成工具

作者:iamlasong 单位对新上岗的员工进行培训,培训结束后,需要进行考试,需要一个简单的考试系统,让新员工既可以自己练习,也可以进行测试,为此,我们做了一个题库,员工可以自己生成一套考题,测试自己的掌握程度,也可以集中起来进行考试,测试培训效果. 系统数据库很简单,主要有两个表,一个是题库,一个是成绩. create table EMSAPP_TEST_QUESTION ( type                  CHAR(1), id                    NUMBE

【VBA研究】VBA产生不重复随机数

作者:iamlasong VBA编程实现不重复随机数输出.VBA里的随机函数是RND,在工作表中随机函数是RAND,一字之差,可要记好了.RND取值范围是[0,1),意思是0和1之间的一个随机数,包含0,但不包含1. 1.用法 语法:Rnd[(number)] 如果 number 的值是 Randomize 生成 小于 0 ,每次都使用 number 作为随机数种子得到的相同结果. 大于 0 ,以上一个随机数为种子产生下一个随机数. 等于 0 ,产生与最近生成的随机数相同的随机数. 省略, 以上

Linux 命令行生成随机密码的十种方法

Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法.这些方法均收集于Command-Line Fu,并且在我们自己的Linux PC机上测试过.这十种方法的一些在安装了Cygwin的Windows下也是可以运行的,特别是最后一种方法. 生成一个随机密码 对于下面的任何一种方法,你可以通过简单的修改来生成特定长度的密码,或者只使用其输出结果的前N位.希望你正在使用一些类似于LastPass的密

php生成随机密码的几种方法

文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/523 使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码.随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考. 方法一: 1.在 33 – 126 中生成一个随机整数,如 35, 2.将 35 转换成对应的ASCII码字符,如 35 对应 # 3.重复以上 1.2 步骤 n 次

【Python运维脚本】生成随机密码

需求:生成指定长度的随机密码,其中密码中应该包含数字和英文字母 实现: #!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2.7 #Author: [email protected] import random, string#导入random和string模块 def GenPassword(length): #随机出数字的个数 numOfNum = random.randint(1,length-1) numOfLetter =

生成随机密码和邮箱、手机匹配

package com.alibaba.uyuni.common.util; import java.util.Random; public class GeneratePassword {     /**      * 生成随机密码      * @param pwd_len      * 生成的密码的总长度      * @return 密码的字符串      */     public static String genRandomNum(int pwd_len) {         //

php生成随机密码(php自定义函数)转自先锋教程网

php生成随机密码(php自定义函数) 时间:2015-12-16 20:43:49来源:网络 导读:php随机密码的生成代码,使用php自定义函数生成指定长度的随机密码,密码规则为小写字母与数字的随机字符串,长度可自定义. 生成一个随机密码的函数,生成密码为小写字母与数字的随机字符串,长度可自定义. 复制代码代码如下: <?php/* * php自动生成新密码自定义函数(带实例演示)      适用环境: PHP5.2.x  / mysql 5.0.x       代码作者: xujiajay

python 生成随机密码

python生成随机密码串 python 的random模块可以生成随机数,主要用这个生成随机密码. string模块中的3个函数:string.letters,string.printable,string.printable >>> import string >>> string.letters 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' >>> string.digits '01

LotusScript生成随机密码(数字、字母、特殊字符组合)

 [背景] 近期OA系统要进行安全检查,由于未做密码策略,很多用户仍然使用的是初始化密码,需要在后台批量修改为强密码(数字.小写字母.大写字母.特殊字符的组合),在网上参考了其他平台强密码的生成思路,特编写了Lotusscript下生成强密码的脚本. [参考代码] %REM Library createRandomPasswd Created 2014-9-22 by admin/cht Description: Comments for Library %END REM Option Pu