Sub decrypt(key As String, src As String) As String
Dim KeyPos As Int = -1, KeyLen As Int, SrcAsc As Int, dest As String, offset As Int, TmpSrcAsc As Int, SrcPos As Int
KeyLen = key.Length
offset = Bit.ParseInt(src.SubString2(0, 2), 16)
For SrcPos = 2 To src.Length - 1 Step 2
SrcAsc = Bit.ParseInt(src.SubString2(SrcPos, SrcPos + 2).Trim, 16)
If KeyPos < KeyLen - 1 Then KeyPos = KeyPos + 1 Else KeyPos = 0
TmpSrcAsc = Bit.And(0xff, Bit.Xor(SrcAsc, Asc(key.CharAt(KeyPos))))
If TmpSrcAsc <= offset Then
TmpSrcAsc = 255 + TmpSrcAsc - offset
Else
TmpSrcAsc = TmpSrcAsc - offset
End If
dest = dest & Chr(TmpSrcAsc)
offset = SrcAsc
Next
Return dest
End Sub