Code bảo mật nè

Liên hệ QC

thanhtungqng

Thành viên mới
Tham gia
25/12/06
Bài viết
12
Được thích
7
Đây là 1 đoạn mã chương trình, yêu cầu nhập Key, Bác nào dịch hộ để có thể tính được key mình cần nhập Mình copy đoạn mã để các bác xem nhé:

Function Decrypt_dutoan(key As Long, salt As Boolean, s As String) As String

Decrypt_dutoan = StrDecode(s, key, salt)

End Function

Function Encrypt_dutoan(key As Long, salt As Boolean, s As String) As String

Encrypt_dutoan = StrEncode(s, key, salt)

End Function

Function StrEncode(ByVal s As String, key As Long, salt As Boolean) As String


Dim n As Long, i As Long, ss As String
Dim k1 As Long, k2 As Long, k3 As Long, k4 As Long, t As Long
Static saltvalue As String * 4

If salt Then
For i = 1 To 4
t = 100 * (1 + Asc(Mid(saltvalue, i, 1))) * Rnd() * (Timer + 1)
Mid(saltvalue, i, 1) = Chr(t Mod 256)
Next
s = Mid(saltvalue, 1, 2) & s & Mid(saltvalue, 3, 2)
End If

n = Len(s)
ss = Space(n)
ReDim sn(n) As Long

k1 = 11 + (key Mod 233): k2 = 7 + (key Mod 239)
k3 = 5 + (key Mod 241): k4 = 3 + (key Mod 251)

For i = 1 To n: sn(i) = Asc(Mid(s, i, 1)): Next i

For i = 2 To n: sn(i) = sn(i) Xor sn(i - 1) Xor ((k1 * sn(i - 1)) Mod 256): Next
For i = n - 1 To 1 Step -1: sn(i) = sn(i) Xor sn(i + 1) Xor (k2 * sn(i + 1)) Mod 256: Next
For i = 3 To n: sn(i) = sn(i) Xor sn(i - 2) Xor (k3 * sn(i - 1)) Mod 256: Next
For i = n - 2 To 1 Step -1: sn(i) = sn(i) Xor sn(i + 2) Xor (k4 * sn(i + 1)) Mod 256: Next

For i = 1 To n: Mid(ss, i, 1) = Chr(sn(i)): Next i

StrEncode = ss
saltvalue = Mid(ss, Len(ss) / 2, 4)

End Function


Function StrDecode(ByVal s As String, key As Long, salt As Boolean) As String


Dim n As Long, i As Long, ss As String
Dim k1 As Long, k2 As Long, k3 As Long, k4 As Long

n = Len(s)
ss = Space(n)
ReDim sn(n) As Long

k1 = 11 + (key Mod 233): k2 = 7 + (key Mod 239)
k3 = 5 + (key Mod 241): k4 = 3 + (key Mod 251)

For i = 1 To n: sn(i) = Asc(Mid(s, i, 1)): Next

For i = 1 To n - 2: sn(i) = sn(i) Xor sn(i + 2) Xor (k4 * sn(i + 1)) Mod 256: Next
For i = n To 3 Step -1: sn(i) = sn(i) Xor sn(i - 2) Xor (k3 * sn(i - 1)) Mod 256: Next
For i = 1 To n - 1: sn(i) = sn(i) Xor sn(i + 1) Xor (k2 * sn(i + 1)) Mod 256: Next
For i = n To 2 Step -1: sn(i) = sn(i) Xor sn(i - 1) Xor (k1 * sn(i - 1)) Mod 256: Next

For i = 1 To n: Mid(ss, i, 1) = Chr(sn(i)): Next i

If salt Then StrDecode = Mid(ss, 3, Len(ss) - 4) Else StrDecode = ss

End Function


 

File đính kèm

Có lẽ vầy dễ xem hơn với chúng ta!

Mã:
[B]Function Decrypt_dutoan(key As Long, salt As Boolean, StrC As String) As String[/B]   
 10           Decrypt_dutoan = StrDecode(StrC, key, salt)
[B]End Function[/B]
[B]'*       *          *               *                 *[/B]
[B]Function Encrypt_dutoan(key As Long, salt As Boolean, StrC As String) As String[/B]
20    Encrypt_dutoan = StrEncode(StrC, key, salt)
[B]End Function[/B]
[B]'*       *          *               *                 *[/B]
[B]Function StrEncode(ByVal StrC As String, key As Long, salt As Boolean) As String[/B]

30 Dim n As Long, i As Long, k1 As Long, k2 As Long, k3 As Long, k4 As Long, t As Long
Dim ss As String
32 Static saltvalue As String * 4

If salt Then
    For i = 1 To 4
35        t = 100 * (1 + Asc(Mid(saltvalue, i, 1))) * Rnd() * (Timer + 1)
        Mid(saltvalue, i, 1) = Chr(t Mod 256)
    Next
38    StrC = Mid(saltvalue, 1, 2) & StrC & Mid(saltvalue, 3, 2)
End If

40 n = Len(StrC)
  ss = Space(n)
42 ReDim sn(n) As Long

  k1 = 11 + (key Mod 233):            k2 = 7 + (key Mod 239)
44  k3 = 5 + (key Mod 241):             k4 = 3 + (key Mod 251)
For i = 1 To n
46    sn(i) = Asc(Mid(StrC, i, 1))
Next i
For i = 2 To n
49    sn(i) = sn(i) Xor sn(i - 1) Xor ((k1 * sn(i - 1)) Mod 256)
Next
For i = n - 1 To 1 Step -1
52    sn(i) = sn(i) Xor sn(i + 1) Xor (k2 * sn(i + 1)) Mod 256
Next
For i = 3 To n
55    sn(i) = sn(i) Xor sn(i - 2) Xor (k3 * sn(i - 1)) Mod 256
Next
For i = n - 2 To 1 Step -1
58    sn(i) = sn(i) Xor sn(i + 2) Xor (k4 * sn(i + 1)) Mod 256
Next
For i = 1 To n
61    Mid(ss, i, 1) = Chr(sn(i))
Next i
63 StrEncode = ss:         saltvalue = Mid(ss, Len(ss) / 2, 4)
[B]End Function
[B]'*       *          *               *         *               *[/B]
Function StrDecode(ByVal StrC As String, key As Long, salt As Boolean) As String[/B]

Dim n As Long, i As Long, ss As String
70 Dim k1 As Long, k2 As Long, k3 As Long, k4 As Long

n = Len(StrC):                          ss = Space(n)
ReDim sn(n) As Long

73 k1 = 11 + (key Mod 233):                k2 = 7 + (key Mod 239)
k3 = 5 + (key Mod 241):                 k4 = 3 + (key Mod 251)
For i = 1 To n
76     sn(i) = Asc(Mid(StrC, i, 1))
Next
For i = 1 To n - 2
79    sn(i) = sn(i) Xor sn(i + 2) Xor (k4 * sn(i + 1)) Mod 256
Next
For i = n To 3 Step -1
82    sn(i) = sn(i) Xor sn(i - 2) Xor (k3 * sn(i - 1)) Mod 256
Next
For i = 1 To n - 1
85    sn(i) = sn(i) Xor sn(i + 1) Xor (k2 * sn(i + 1)) Mod 256
Next
For i = n To 2 Step -1
88    sn(i) = sn(i) Xor sn(i - 1) Xor (k1 * sn(i - 1)) Mod 256
Next
For i = 1 To n
91    Mid(ss, i, 1) = Chr(sn(i))
Next i
93 If salt Then StrDecode = Mid(ss, 3, Len(ss) - 4) Else StrDecode = ss
[B]End Function[/B]
 
Lần chỉnh sửa cuối:
Upvote 0
Sao chưa thấy ai dịch, hay trả lời vậy ta. Chắc phải đợi qua lễ rùi, Năm nay được nghỉ lễ nhiều quá.Thích thật
 
Upvote 0
to thanhtungqng:
Hai cái hàm trên là để mã hóa và giải mã Mã hiệu Định mức và Phụ lục vữa. chứ không phải để kiểm tra key nhập. tuy nhiên có cái này là cũng giải quyết được khối việc rồi. bạn có thể cho YM để tiện liên lạc của tôi là taptoetitoe. mà bạn dùng cái gì để mở thế, có thể share cho mình không?
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom