【討論】VB6 加解密程式


Recommended Posts

我是個高二生,最近在用加密解密的程式碼。

這是目前我們學的"加密"程式碼:

Private Sub Command1_Click()

D = InputBox("輸入密碼種子", "seed", 1)

For I = 1 To Len(Text1.Text)

A$ = Mid(Text1.Text, I, 1)

B = Asc(A$) + Val(D)

C$ = C$ & Chr(B)

Next I

Text2.Text = C$

End Sub

計算哪個ASCII碼出現最多次的程式碼:

Private Sub Command2_Click()

Dim A(255) As Integer

D$ = Text1.Text

For I = 1 To Len(D$)

B$ = Mid(D$, I, 1)

C = Asc(B)

A© = A© + 1

Next I

Max = 0

For I = 1 To 255

If A(Max) < A(I) Then

Max = I

End If

Next I

Text3.Text = "ASCII碼:" & Max & " " & "符號:" & Chr(Max)

End Sub

目前出了一項作業是"解密",要求是

不論放入什麼加密文,都能算出他的密碼種子是多少,並且進行還原

該怎麼寫呢?

因為老師給的資料中提到,一般英文文章,最常出現的三個字母分別是

空白 ( ascii碼:32 )

E ( 69 )

T ( 84 )

假設密文,最常出現的字是 "空白",它的密碼種子是 +1

所以當我,在不知道密文的密碼種子是多少的情況下,

把密文丟入text1,按下command 2 計算出,

出現最多的字串,即是 ascii 碼為33的「!」 ( command2結果輸出在text3 )

那我就必須要把密文作 -1 的動作,去還原回來,並把結果輸出在text2

鏈接文章
分享到其他網站
  • 4 weeks later...

Private Sub Command1_Click()

n = Len(Text1.Text)

For I = 1 To n

S = S + Chr(Asc(Mid(Text1.Text, I, 1)) + 1)

Next I

Label1.Caption = S

End Sub

Private Sub Command2_Click()

n = Len(Label1.Caption)

For I = 1 To n

S = S + Chr(Asc(Mid(Label1.Caption, I, 1)) - 1)

Next I

Label2.Caption = S

End Sub

化一個text 2個command 2個label

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入