lijm1522 发表于 2019-2-3 08:34:33

SAP ECC6 SOLUTION MANAGER KEY 生成脚本 (VBS)

''''''''''''''''''''''''''''''''''''''  '   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 84Xor 0
  reshex(2) = reshex(2) Xor 131 Xor 11
  reshex(3) = reshex(3) Xor 194 Xor 46
  reshex(4) = reshex(4) Xor 52Xor 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

页: [1]
查看完整版本: SAP ECC6 SOLUTION MANAGER KEY 生成脚本 (VBS)