These two small, simple, and effective functions easily encrypt/decrypt a text password. The functions taketwo parameters: a number in the range of 1 to 10 used to alternatively shift up or down the ASCII character bythat amount, and the actual Password string.The EncryptPassword function loops though each character of the DecryptedPassword, checks if its positionis odd or even, and shifts the character up or down according to the Number parameter. This makes theencrypted string unreadable. The encrypted password is then scrambled once again using the XOR operator,which makes it even more unreadable.I chose a limit of Number to be ten so I don’t have to check for invalid ASCII values. The DecryptPasswordFunction reverses the encryption process by first applying the XOR operator and then shifting:
Function EncryptPassword(Number As _ Byte, DecryptedPassword As String)Dim Password As String, Counter As ByteDim Temp As IntegerCounter = 1Do Until Counter = _ Len(DecryptedPassword) + 1 Temp = Asc(Mid(DecryptedPassword, _ Counter, 1)) If Counter Mod 2 = 0 Then 'see if even Temp = Temp - Number Else Temp = Temp + Number End If Temp = Temp Xor (10 - Number) Password = Password & Chr$(Temp) Counter = Counter + 1LoopEncryptPassword = PasswordEnd FunctionFunction DecryptPassword(Number As _ Byte, EncryptedPassword As String)Dim Password As String, Counter As ByteDim Temp As IntegerCounter = 1Do Until Counter = _ Len(EncryptedPassword) + 1 Temp = Asc(Mid(EncryptedPassword, _ Counter, 1)) Xor (10 - Number) If Counter Mod 2 = 0 Then 'see if even Temp = Temp + Number Else Temp = Temp - Number End If Password = Password & Chr$(Temp) Counter = Counter + 1LoopDecryptPassword = PasswordEnd Function