Добрый день, вопрос в следующем есть ли конвертеры vbscript в C# или может кто поможет перегнать скрипт на C#
| Код | public function encrypt(password) dim key(16) dim one,two,three,four dim i dim dstbytes(16)
bu_String2Bytes password, key bu_String2Bytes password, dstbytes one= bu_Bytes2Int(key, 0) * 213119 + 2529077 one = one - Fix(one/ 4294967296) * 4294967296 two = bu_Bytes2Int(key, 4) * 213247 + 2529089 two = two - Fix(two/ 4294967296) * 4294967296 three = bu_Bytes2Int(key, 8) * 213203 + 2529589 three = three - Fix(three/ 4294967296) * 4294967296 four = bu_Bytes2Int(key, 12) * 213821 + 2529997 four = four - Fix(four/ 4294967296) * 4294967296
call MyuwSplit(one, key(0), key(1), key(2), key(3)) call MyuwSplit(two, key(4), key(5), key(6), key(7)) call MyuwSplit(three, key(8), key(9), key(10), key(11)) call MyuwSplit(Four, key(12), key(13), key(14), key(15))
dstbytes(0) = dstbytes(0) xor key(0)
for i=1 to 15 dstbytes(i) = dstbytes(i) xor dstbytes(i-1) xor key(i and 15) next
for i=0 to 15 if dstbytes(i) = 0 then dstbytes(i) = &H66 end if next
encrypt = "0x" for i=0 to 15 if dstbytes(i) < &H10 then encrypt = encrypt & "0" & Hex(dstbytes(i)) else encrypt = encrypt & Hex(dstbytes(i)) end if next end function
Public Sub MyuwSplit(ByRef w, a, b, C, d) d = Fix(w / &H1000000) c = Fix((w - d * &H1000000) / &H10000) b = Fix((w - d * &H1000000 - c * &H10000) / &H100) a = Fix((w - d * &H1000000 - c * &H10000 - b * &H100)) End Sub
public Function bu_Bytes2Int(aBytes(), index) dim rslt rslt = aBytes(index) + aBytes(index+1)*256 + aBytes(index+2)*65536 + aBytes(index+3)*16777216
bu_Bytes2Int = rslt End Function
Public Function bu_String2Bytes(str, aBytes()) nBytes = Len(str) For i = 0 To nBytes - 1 aBytes(i) = Asc(Mid(str, i + 1, 1)) Next
bu_String2Bytes = nBytes
End Function
|
Спасибо. |