'檢測生成字符串的長度 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))) '實(shí)際應(yīng)用時,可以直接調(diào)用iXuEr_Rnd_Str(Length,S1,S2,S3,S4,Ln) Function iXuEr_Rnd_Str(Length,S1,S2,S3,S4,Ln) '========================================================= ' 函數(shù):Rnd_Str ' 功能:生成指定長度的隨機(jī)字符串 iXuEr Studio 挑戰(zhàn)隨機(jī)字符串 ' 參數(shù):長度,是否大寫字母,是否小寫字母,是否數(shù)字,是否特殊字符,是否有自定義字符 ' 返回:字符串 ' 時間:2004-08-28 ' 作者:Guidy ' 版權(quán):iXuEr Studio '========================================================= ' Copyright (C) 2004-2006 114XP.CN All Rights Reserved. ' 官方網(wǎng)站:http://www.114xp.cn ' 技術(shù)論壇:http://bbs.114xp.cn ' 電子信箱:guidy@qq.com,guidy@psysch.com '========================================================= '默認(rèn)擁有15種組合方案,長度任意指定,并且字符串中不允許空格存在 '如果指定了自定義字符集的話,則可以擴(kuò)展到多達(dá)26種組合方案 '1)大寫字母2)小寫字母3)數(shù)字4)特殊字符5)大寫字母、小寫字母6)大寫字母、數(shù)字 '7)大寫字母、特殊字符8)大寫字母、小寫字母、數(shù)字9)大寫字母、小寫字母、特殊字符 '10)大寫字母、數(shù)字、特殊字符11)大寫字母、小寫字母、數(shù)字、特殊字符 '12)小寫字母、數(shù)字13)小寫字母、特殊字符14)小寫字母、數(shù)字、特殊字符15)數(shù)字、特殊字符 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 '包含數(shù)字 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 '如果沒有指定任何包含內(nèi)容,則強(qiáng)制全部包含 Seed = Seed & Seed_Str1 & " " & Seed_Str2 & " " & Seed_Str3 & " " & Seed_Str4 & " " & Seed_Strn End If
'建立種子數(shù)組 SeedAry = Split(Seed," ") '獲取種子數(shù)組長度 m = Ubound(SeedAry) '初始化隨機(jī)字符串 TempStr = "" Do While Len(TempStr) < Length Randomize Timer() TempStr = TempStr & SeedAry(m*Rnd) Loop
iXuEr_Rnd_Str = TempStr
End Function
|