简单的加密算法(比如简单的ASCII值转换)有时候比复杂的算法更具优势。假设密码为“ajax7”,你可以按照以下方式进行编码:
编码后的密码就是bkby8,解码的过程和编码相反,每个ASCII值减1即可。
以下vb代码就是采用了这种编码算法(假设密码只包含数字和字母)
Public Function EncodePassword(pw As String) As String
' 传递pw,并返回编码后的pw。
Dim codedPW As String
Dim i As Integer
Dim ch As String * 1
If Len(pw) = 0 Then
EncodePassword = ""
Exit Function
End If
codedPW = ""
pw = Trim(pw)
For i = 1 To Len(pw)
ch = Mid(pw, i, 1)
codedPW = codedPW & Chr(Asc(ch) + 1)
Next i
EncodePassword = codedPW
End Function
Public Function DecodePassword(codedPW As String) As String
' 传递编码后的pw,并返回解码的 pw.
Dim decodedPW As String
Dim i As Integer
Dim ch As String * 1
If Len(codedPW) = 0 Then
DecodePassword = ""
Exit Function
End If
decodedPW = ""
codedPW = Trim(codedPW)
For i = 1 To Len(codedPW)
ch = Mid(codedPW, i, 1)
decodedPW = decodedPW & Chr(Asc(ch) - 1)
Next i
DecodePassword = decodedPW
End Function
稍复杂的编码算法有很多种,比如对每个ASCII值所加的不是一个常数,而是根据字母的位置加上不同的值。
虽然这些加密算法对于FBI或CIA来说,并不难解码,但对于普通用户,它能有效地防止以明码保存密码带来的危险。
联系客服