'''''''''''''''''''''''''''''''''''''' ' Solution Manager Key 生成器 ' '复制本文档,存为 SolManKeyGen.vbs ' ' 执行 ' '''''''''''''''''''''''''''''''''''''' '------------------------------------------------------- Dim SIDs,SNs,SERVs,msg,ENDs,KEYs msg="系统标识 (3位)" SIDs=InputBox(msg,"Solution Manager Key 生成器") msg="系统编号 (2位)" SNs=InputBox(msg,"Solution Manager Key 生成器") msg="主机名(最多15位)" SERVs=InputBox(msg,"Solution Manager Key 生成器") KEYs=SolManKeyGen(SIDs,SERVs) msg="Solution Manager Key" ENDs=InputBox(msg,"Solution Manager Key 生成器",KEYs) '------------------------------------------------------- Function SolManKeyGen(SIDst,SNst,SERVst) Dim SIDSNhex(5) Dim SERVhex(15) Dim reshex(5) SIDSNstr = UCase(SIDst) + UCase(SNst) SERVstr = UCase(SERVst) For arrcnt = 1 To 5 SIDSNhex(arrcnt) = Asc(Mid(SIDSNstr,arrcnt,1)) Next For arrcnt = 1 To Len(SERVstr) SERVhex(arrcnt) = Asc(Mid(SERVstr,1)) Next For arrcnt = Len(SERVstr) + 1 To 15 SERVhex(arrcnt) = 0 Next If (Len(SERVstr) > 0) Then If (Len(SERVstr) < 5) Then For arrcnt = Len(SERVstr) + 1 To 5 SERVhex(arrcnt) = Asc(" ") Next End If End If If (Len(SERVstr) > 5) Then If (Len(SERVstr) < 10) Then For arrcnt = Len(SERVstr) + 1 To 10 SERVhex(arrcnt) = Asc(" ") Next End If End If If (Len(SERVstr) > 10) Then If (Len(SERVstr) < 15) Then For arrcnt = Len(SERVstr) + 1 To 15 SERVhex(arrcnt) = Asc(" ") Next End If End If For arrcnt = 1 To 5 reshex(arrcnt) = ((((0 Xor SIDSNhex(arrcnt)) Xor SERVhex(arrcnt)) Xor SERVhex(arrcnt + 5)) Xor SERVhex(arrcnt + 10)) Next reshex(1) = reshex(1) Xor 84 Xor 0 reshex(2) = reshex(2) Xor 131 Xor 11 reshex(3) = reshex(3) Xor 194 Xor 46 reshex(4) = reshex(4) Xor 52 Xor 105 reshex(5) = reshex(5) Xor 119 Xor 188 hexstr = "0123456789ABCDEF" resstr = "" For arrcnt = 1 To 5 hihex = reshex(arrcnt) \ 16 lohex = reshex(arrcnt) Mod 16 resstr = resstr + Mid(hexstr,hihex + 1,1) + Mid(hexstr,lohex + 1,1) Next SolManKeyGen = resstr End Function
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。