가장 먼저 전역변수에 알파벳을 모두 담아준다.
Dim sAlphabet_small() As String = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
Dim sAlphabet_Big() As String = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}
암호화 알고리즘
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If TextBox1.Text = "" Then
MessageBox.Show("평문을 영어소문자로 입력하고 버튼을 누르세요", "경고 1")
TextBox1.Focus()
End If
Dim iMunjang_length As Integer
iMunjang_length = Len(TextBox1.Text)
Dim sMunjang(iMunjang_length) As String
For i = 0 To iMunjang_length - 1
sMunjang(i) = Mid(TextBox1.Text, i + 1, 1)
Next
TextBox2.Text = ""
For i = 0 To iMunjang_length - 1
For j = 0 To 25 ' 알파벳은 총 26개이니 모두 검사해야 하므로 0부터 25
If sMunjang(i) = sAlphabet_small(j) Then
TextBox2.Text += sAlphabet_Big((j + 3) Mod 26) ' +3 해서 처리
End If
Next
Next
End Sub
해독 알고리즘
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If TextBox2.Text = "" Then
MessageBox.Show("평문을 영어소문자로 입력하고 버튼을 누르세요", "경고 1")
TextBox1.Focus()
End If
Dim iMunjang_length As Integer
iMunjang_length = Len(TextBox2.Text)
Dim sMunjang(iMunjang_length) As String
For i = 0 To iMunjang_length - 1
sMunjang(i) = Mid(TextBox2.Text, i + 1, 1)
Next
TextBox3.Text = ""
For i = 0 To iMunjang_length - 1
For j = 0 To 25
If sMunjang(i) = sAlphabet_Big(j) Then
If j < 3 Then
TextBox3.Text += sAlphabet_small(25 - j)
Else
TextBox3.Text += sAlphabet_small(j - 3)
End If
End If
Next
Next
End Sub