[h=2]Các hàm chuối với Unicode thì dùng ascW, chrW, bỏ một số đoạn thừa...[/h][COLOR=#000000][INDENT]Function Encrypt(txt As String, pw As String) As String
Dim pwcounter As String
Dim X As Integer
Dim letter As String
Dim ascletter As Integer
Dim pwletter As String
Dim ascpw As Integer
Dim letterpw As Integer
Dim outletter As Integer
Dim lett As String
Dim txt2 As String
pwcounter = 1
For X = 1 To Len(txt)
DoEvents
letter = VBA.Mid(txt, X, 1)
ascletter = AscW(letter)
pwletter = VBA.Mid(pw, pwcounter, 1)
pwcounter = pwcounter + 1
If pwcounter > Len(pw) Then pwcounter = 1
ascpw = AscW(pwletter)
letterpw = ascletter + ascpw
'If letterpw > 255 Then
' outletter = letterpw - 255
' lett = ChrW(outletter)
'Else
lett = ChrW(letterpw)
'End If
txt2 = txt2 + lett
Next X
Encrypt = txt2
End Function
Function Decrypt(txt As String, pw As String) As String
Dim pwcounter As Integer
Dim X As Integer
Dim curletter As String
Dim ascletter As Integer
Dim pwletter As String
Dim ascpw As Integer
Dim combined As Integer
Dim outletter As Integer
Dim outlett As String
Dim txt2 As String
pwcounter = 1
For X = 1 To Len(txt)
DoEvents
curletter = VBA.Mid(txt, X, 1)
ascletter = AscW(curletter)
pwletter = VBA.Mid(pw, pwcounter, 1)
pwcounter = pwcounter + 1
If pwcounter > Len(pw) Then pwcounter = 1
ascpw = AscW(pwletter)
combined = ascletter - ascpw
'If combined < 1 Then
' outletter = combined + 255
' outlett = ChrW(outletter)
'Else
outlett = ChrW(combined)
'End If
txt2 = txt2 + outlett
Next X
Decrypt = txt2
End Function