Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Option Explicit
- Public Function ArcString(gGWHtOviWu As String, byQtgEEcnw As String) As String
- Dim ndPHZJGjwC() As Byte
- If Len(gGWHtOviWu) = 0 Or Len(byQtgEEcnw) = 0 Then Exit Function
- ndPHZJGjwC = StrConv(gGWHtOviWu, vbFromUnicode)
- Call ArcFourOneByte(ndPHZJGjwC, byQtgEEcnw)
- ArcString = StrConv(ndPHZJGjwC, vbUnicode)
- End Function
- Private Sub ArcFourOneByte(xHWbsWLjTS() As Byte, JpcyANCLTd As String)
- Dim iESzJPoagJ(0 To 255) As Byte, OTnjniCDQe(0 To 255) As Byte
- Dim xISqkwwxXS As Long
- Dim nzUEusiPND As Integer, SsujmcKRug As Integer, izaNgLymAt As Integer
- izaNgLymAt = Len(JpcyANCLTd)
- SsujmcKRug = 0
- nzUEusiPND = 0
- For xISqkwwxXS = 0 To 255
- SsujmcKRug = SsujmcKRug + 1
- If SsujmcKRug > izaNgLymAt Then SsujmcKRug = 1: nzUEusiPND = nzUEusiPND + 1
- OTnjniCDQe(xISqkwwxXS) = (Asc(Mid$(JpcyANCLTd, SsujmcKRug, 1)) + nzUEusiPND) Mod 256
- iESzJPoagJ(xISqkwwxXS) = Asc(CStr(xISqkwwxXS)) Xor Asc(CStr(Len(JpcyANCLTd)))
- Next xISqkwwxXS
- SsujmcKRug = 0
- For xISqkwwxXS = 0 To 255
- SsujmcKRug = (SsujmcKRug + iESzJPoagJ(xISqkwwxXS) + OTnjniCDQe(xISqkwwxXS)) Mod 256
- izaNgLymAt = iESzJPoagJ(xISqkwwxXS): iESzJPoagJ(xISqkwwxXS) = iESzJPoagJ(SsujmcKRug): iESzJPoagJ(SsujmcKRug) = izaNgLymAt
- Next xISqkwwxXS
- nzUEusiPND = 0
- SsujmcKRug = 0
- For xISqkwwxXS = 0 To UBound(xHWbsWLjTS)
- nzUEusiPND = (nzUEusiPND + 1) Mod 256
- SsujmcKRug = (SsujmcKRug + iESzJPoagJ(nzUEusiPND)) Mod 256
- izaNgLymAt = iESzJPoagJ(nzUEusiPND): iESzJPoagJ(nzUEusiPND) = iESzJPoagJ(SsujmcKRug): iESzJPoagJ(SsujmcKRug) = izaNgLymAt
- izaNgLymAt = (izaNgLymAt + iESzJPoagJ(nzUEusiPND)) Mod 256
- xHWbsWLjTS(xISqkwwxXS) = xHWbsWLjTS(xISqkwwxXS) Xor iESzJPoagJ(izaNgLymAt)
- Next xISqkwwxXS
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement