Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language:
Expertise: Intermediate
Aug 1, 1997

Encrypted Passwords

These two small, simple, and effective functions easily encrypt/decrypt a text password. The functions take two parameters: a number in the range of 1 to 10 used to alternatively shift up or down the ASCII character by that amount, and the actual Password string. The EncryptPassword function loops though each character of the DecryptedPassword, checks if its position is odd or even, and shifts the character up or down according to the Number parameter. This makes the encrypted 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 DecryptPassword Function 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 Byte
Dim Temp As Integer

Counter = 1
Do 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 + 1
Loop
EncryptPassword = Password
End Function

Function DecryptPassword(Number As _
        Byte, EncryptedPassword As String)
Dim Password As String, Counter As Byte
Dim Temp As Integer

Counter = 1
Do 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 + 1
Loop
DecryptPassword = Password
End Function
Jeff Bogusz
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap