SAP ECC6 SOLUTION MANAGER KEY 生成腳本

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 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章