您的位置:首页 > 其它

SAP ECC6 SOLUTION MANAGER KEY 生成脚本

2015-04-05 23:50 447 查看
SAP ECC6 SOLUTION MANAGER KEY 怎么来呢,是通过电脑名字、SAP System ID、以及 Center Instance Number 这三个字符串,经过一个算法算出来的,而算这个东西,你就要先装好 Solution Manager 这个软件,但是一般人都没有这个东西。

''''''''''''''''''''''''''''''''''''''

' 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, SNs, 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, arrcnt, 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: