Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Перевести из vb в C#


Автор: Allexander 26.12.2012, 14:50
Добрый день, вопрос в следующем есть ли конвертеры 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


Спасибо.

Автор: dzaraev 13.1.2013, 01:57
"Перевести код" - это называется "транслировать". 
Google - друг, вот первая ссылка: http://www.carlosag.net/tools/codetranslator/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)