integer i, j
integer li_mask[] // Encryption mask
integer li_wlen // Length of worker number
integer li_plen // Length of password
string ls_char // A character of string
string ls_asc // String of ASCII value of the character
integer li_asc // ASCII value of the character
li_wlen = Len(as_worker)
FOR i = li_wlen TO 1 STEP -1
ls_char = Mid(as_worker, i, 1)
ls_asc = String(Asc(ls_char))
FOR j = 1 TO Len(ls_asc)
li_mask[i] += Integer(Mid(ls_asc, j, 1))
NEXT
NEXT
li_plen = Len(as_password)
i = 1
FOR j = 1 TO li_plen
ls_char = Mid(as_password, j, 1)
li_asc = Asc(ls_char) + li_mask[i]
as_password = Replace(as_password, j, 1, Char(li_asc))
IF i < li_wlen THEN
i ++
ELSE
i = 1
END IF
NEXT