А вот и на VB:
проверил быстродействие: около 20 - 50 ms (миллисекунд) на 7 кб скрипта
Спасибо Jet'у помог очень...
Код:
Public Sub ScriptCrypt(ByRef Script() As Byte, ByVal Key As Long)
Dim Tmp As Double
Dim i As Long
Dim TmpLng As Long
Tmp = Key
For i = 0 To UBound(Script)
Tmp = Tmp * 214013 + 2531011
'-------------------------------------------------
Do While Tmp > 2199023255552#
Tmp = Tmp - 2199023255552#
Loop
Do While Tmp > 274877906944#
Tmp = Tmp - 274877906944#
Loop
Do While Tmp > 34359738368#
Tmp = Tmp - 34359738368#
Loop
Do While Tmp > 4294967296#
Tmp = Tmp - 4294967296#
Loop
' Это все приведение Double к DWORD
' экспериментируюя с количиством циклов
' и со значениями можно добиться большего быстродействия
'-------------------------------------------------
TmpLng = CLng(Int(Tmp / 65536))
TmpLng = TmpLng Mod 256
Script(i) = Script(i) Xor CByte(TmpLng)
Next
End Sub
проверил быстродействие: около 20 - 50 ms (миллисекунд) на 7 кб скрипта
Спасибо Jet'у помог очень...
Что есть то есть, того что было не вернуть, не изменить ни дня.
Черный Обелиск "Дом желтого сна (часть 2)"
Черный Обелиск "Дом желтого сна (часть 2)"