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



【背景】

近期OA系统要进行安全检查,由于未做密码策略,很多用户仍然使用的是初始化密码,需要在后台批量修改为强密码(数字、小写字母、大写字母、特殊字符的组合),在网上参考了其他平台强密码的生成思路,特编写了Lotusscript下生成强密码的脚本。

【参考代码】

%REM
	Library createRandomPasswd
	Created 2014-9-22 by admin/cht
	Description: Comments for Library
%END REM
Option Public
Option Declare

Function fnGetMax(iMin As Integer,iMax As Integer) As Integer
	On Error GoTo errhandle
	If iMin>=iMax Then
		fnGetMax = iMin
	Else
		fnGetMax = iMax
	End If
	Exit Function
errhandle:
	MsgBox "fnGetMax error:" & Error() & ",erl:" & CStr(Erl())
	Exit Function
End Function
%REM
	Function fnRandom
	Description: Comments for Function
%END REM
Function fnRandom(iMin As Integer,iMax As Integer) As Integer
	On Error GoTo errhandle

	fnRandom = CInt(fnGetMax(iMin,Rnd * iMax))
	Exit Function
errhandle:
	MsgBox "fnRandom error:" & Error() & ",erl:" & CStr(Erl())
	Exit Function
End Function
%REM
	sNoPasswd 	生成随机密码出错时的初始化密码
	iLen	  	生成随机密码的长度,至少4位
%END REM
Function fnRndPasswd(sNoPasswd As String,iLen As Integer) As String
	On Error GoTo errhandle
	'初始化密码
	'fnRndPasswd = "1qaz!QAZ"
	fnRndPasswd = sNoPasswd

	Dim str1(3) As String
	str1(0) = "abcdefghijklmnopqrstuvwxyz"
	str1(1) = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	str1(2) = "1234567890"
	str1(3) = "[email protected]#$%^*_+-';:,."
	Dim i As Integer
	Dim iIndex As Integer
	Dim passwd As String
	passwd = ""

	If iLen>4 Then
		For i=1 To iLen-4
			iIndex = fnRandom(0,3)
			passwd = passwd & Mid(str1(iIndex),fnRandom(1,Len(str1(iIndex))),1)
		Next
	End If

	'为了保障密码必须包含数字、小写字母、大写字母、特殊字符
	'后四位直接为小写字母、大写字母、数字、特殊字符
	passwd = passwd & Mid(str1(0),fnRandom(1,Len(str1(0))),1)
	passwd = passwd & Mid(str1(1),fnRandom(1,Len(str1(1))),1)
	passwd = passwd & Mid(str1(2),fnRandom(1,Len(str1(2))),1)
	passwd = passwd & Mid(str1(3),fnRandom(1,Len(str1(3))),1)

	fnRndPasswd = passwd

	Exit Function
errhandle:
	MsgBox "fnRndPasswd error:" & Error() & ",erl:" & CStr(Erl())
	Exit Function
End Function

思路并不复杂,LotusScript的随机函数是Rnd(),为了保证密码必须是数字、小写字母、大写字母、特殊字符组合,这段代码里面密码长度至少是4位,并且后面4位分别是:小写字母、大写字母、数字、特殊字符,其实这一块可以随机生成。

时间: 2024-10-10 07:14:37

LotusScript生成随机密码(数字、字母、特殊字符组合)的相关文章

获得N位数字字母随机组合

import string import random def get_rand(n): allw = string.letters+string.digits r = [] for i in range(n): r.append(random.choice(allw)) return ''.join(r) for i in range(4): print get_rand(8) 获得N位数字字母随机组合

C# 生成四位数字字母混合验证码

private static void Rand() { var arr = new List<string>(); for (int i = 0; i < 10; i++) { arr.Add(i.ToString()); } for (int i = 65; i < 91; i++) { arr.Add(Encoding.GetEncoding("ASCII").GetString(new byte[] { (byte)i })); } var rnd =

Python 3 生成手写体数字数据集

0.引言 平时上网干啥的基本上都会接触验证码,或者在机器学习学习过程中,大家或许会接触过手写体识别/验证码识别之类问题,会用到手写体的数据集: 自己尝试写了一个生成手写体图片的python程序,在此分享下生成单张 30*30像素的手写体数字1-9图像 的一种实现方法: 我是利用random生成随机数1-9,然后PIL写到图像上,然后经过旋转.扭曲处理,得到"手写体",这里没有加干扰线和干扰点: 得到的手写体数字图像如图1所示: 实现比较简单,用了PIL库,不需要额外安装opencv啥的

生成随机字母字符串(数字字母混和)

1.生成随机字母字符串(数字字母混和) /// 生成随机字母字符串(数字字母混和) /// /// 待生成的位数 /// 生成的字母字符串 private string GenerateCheckCode(int codeCount) { int rep = 0; string str = string.Empty; long num2 = DateTime.Now.Ticks + rep; rep++; Random random = new Random(((int)(((ulong)num

Servlet仿CSDN动态验证码的生成-带数字和字母

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.实现的思路: (1)首先,须要创建一个Servlet.该Servlet通过字节型响应给client返回一个图片.该图片是通过JDK中Java 2D的类库来生成一个图片. 图片的生成是依靠一个随机数来完毕,然后将这个随机数写成图片格式.最后在Session将这个随机的字符串的状态保持住,以便在用户填写后进行对照. (2)其次,在须要加入验证码的JSP页面中,通过<img src="生

通过php生成纯数字、字母数字、图片、纯汉字的随机数验证码

现在讲开始通过PHP生成各种验证码旅途,新手要开车了,请刷卡! 首先,我们开始先生成一个放验证码的背景图片 注:没有Imagejpg()这个函数,只有imagepng()函数 imagecreatetruecolor()函数含义 效果 考虑到我们一般验证码的背景图片为白色,那么我们现在就把背景图片改一下 效果 相关函数意思 注:在输出图片之前,我们必须要生成header("Content-type:image/png"),即告诉服务器输出的是图片 一.生成纯数字验证码 1.产生数字的代

pyhton2 and python3 生成随机数字、字母、符号字典(用于撞库测试/验证码等)

本文介绍Python3中String模块ascii_letters和digits方法,其中ascii_letters是生成所有字母,从a-z和A-Z,digits是生成所有数字0-9.string.punctuation是所有标点'!"#$%&\'()*+,-./:;<=>[email protected][\\]^_`{|}~' String模块中的常量: string.digits:数字0~9 string.ascii_letters:所有字母(大小写) string.l

Servlet动态验证码的生成-带数字和字母

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.实现的思路: (1)首先,需要创建一个Servlet.该Servlet通过字节型响应给客户端返回一个图片,该图片是通过JDK中Java 2D的类库来生成一个图片.图片的生成是依靠一个随机数来完成,然后将这个随机数写成图片格式.最后在Session将这个随机的字符串的状态保持住,以便在用户填写后进行对比. (2)其次,在需要加入验证码的JSP页面中,通过<img src="生成验证码

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

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