生成指定长度的随机字符串

'检测生成字符串的长度 
Response.Write(Len(iXuEr_Rnd_Str(100,1,1,1,1,1)) & "<br>") 
'以HTML编码输出到浏览器,避免含有某些特殊字符时不能正常显示 
Response.Write(Server.HTMLEncode(iXuEr_Rnd_Str(100,1,1,1,1,1))) 
'实际应用时,可以直接调用iXuEr_Rnd_Str(Length,S1,S2,S3,S4,Ln) 
Function iXuEr_Rnd_Str(Length,S1,S2,S3,S4,Ln) 
'========================================================= 
' 函数:Rnd_Str 
' 功能:生成指定长度的随机字符串 iXuEr Studio 挑战随机字符串 
' 参数:长度,是否大写字母,是否小写字母,是否数字,是否特殊字符,是否有自定义字符 
' 返回:字符串 
' 时间:2004-08-28 
' 作者:Guidy 
' 版权:iXuEr Studio 
'========================================================= 
' Copyright (C) 2004-2006 114XP.CN All Rights Reserved. 
' 官方网站:http://www.114xp.cn 
' 技术论坛:http://bbs.114xp.cn 
' 电子信箱:guidy@qq.com,guidy@psysch.com 
'========================================================= 
'默认拥有15种组合方案,长度任意指定,并且字符串中不允许空格存在 
'如果指定了自定义字符集的话,则可以扩展到多达26种组合方案 
'1)大写字母2)小写字母3)数字4)特殊字符5)大写字母、小写字母6)大写字母、数字 
'7)大写字母、特殊字符8)大写字母、小写字母、数字9)大写字母、小写字母、特殊字符 
'10)大写字母、数字、特殊字符11)大写字母、小写字母、数字、特殊字符 
'12)小写字母、数字13)小写字母、特殊字符14)小写字母、数字、特殊字符15)数字、特殊字符 
Dim Seed,SeedAry 
Dim Seed_Str,Seed_Str1,Seed_Str2,Seed_Str3,Seed_Str4,Seed_Strn 
Dim TempStr 
Dim i,m

Seed_Str1 = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" 
Seed_Str2 = "a b c d e f g h i j k l m n o p q r s t u v w x y z" 
Seed_Str3 = "0 1 2 3 4 5 6 7 8 9" 
Seed_Str4 = "! "" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~" 
'自定义字符集合,注意要在每个自定义字符之间加空格! 
Seed_Strn = ""

Seed = "" 
If S1 = 1 Then 
'包含大写字母 
Seed = Seed & Seed_Str1 
End If 
If S2 = 1 Then 
'包含小写字母 
Seed = Seed & " " & Seed_Str2 
End If 
If S3 = 1 Then 
'包含数字 
Seed = Seed & " " & Seed_Str3 
End If 
If S4 = 1 Then 
'包含特殊字符 
Seed = Seed & " " & Seed_Str4 
End If 
If Ln = 1 Then 
'包含特殊字符 
Seed = Seed & " " & Seed_Strn 
End If 
If S1 <> 1 And S2 <> 1 And S3 <> 1 And S4 <> 1 And Ln <> 1 Then 
'如果没有指定任何包含内容,则强制全部包含 
Seed = Seed & Seed_Str1 & " " & Seed_Str2 & " " & Seed_Str3 & " " & Seed_Str4 & " " & Seed_Strn 
End If

'建立种子数组 
SeedAry = Split(Seed," ") 
'获取种子数组长度 
m = Ubound(SeedAry) 
'初始化随机字符串 
TempStr = "" 
Do While Len(TempStr) < Length 
Randomize Timer() 
TempStr = TempStr & SeedAry(m*Rnd) 
Loop

iXuEr_Rnd_Str = TempStr

End Function 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值