Malapkan S1 Sebagai Rentetan
Malapkan S2 Sebagai Rentetan
S1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJ"
S2 = "abcdefghijklmnopqrstuvwxyzabcdefghij"
Malapkan LStr Sebagai Rentetan
LStr = "AXDCF1245CDxhsavs" # Simpan teks asal
Malapkan TStr Sebagai Rentetan
Malapkan i Sebagai Integer
Malapkan S Sebagai Rentetan
TSr = ""
Untuk i = 1 Kepada Len(LStr)
S = Pertengahan(LStr, i, 1)
Jika InStr(S1, S) 0 Kemudian
S = Pertengahan(S1, InStr(S1, S) + 10, 1)
ElseIf InStr(S2, S) 0 Kemudian
S = Pertengahan(S2, InStr(S2, S) + 10, 1)
Tamat Jika
TSr = TStr & S
Seterusnya i
Cetak TStr
Mula-mula program mentakrifkan dua rentetan k1 dan k2;
Di sini dia menyediakan pembolehubah bernama Text1, yang sepatutnya menjadi pembolehubah global dan telah ditakrifkan sebelum program.
Pertama, kita perlu menentukan kod pembolehubah rentetan untuk menyimpan teks dalam Teks1. Kemudian, gunakan fungsi LCase() untuk menukar huruf besar dalam Text1 kepada huruf kecil.
Proses penyulitan bermula, iaitu proses kitaran.
Dalam gelung ini, tetapkan julat i daripada 1 kepada panjang kod
Pada permulaan setiap gelung, keluarkan setiap huruf dalam kod dan tetapkan ia kepada pembolehubah s.
Kemudian tentukan jika s bukan rentetan kosong, tetapkan n sebagai "jarak" antara huruf dalam s dan huruf a (diandaikan anda sudah faham konsep ini, jika tidak, sila fikirkan dengan teliti).
Andaikan kedudukan huruf 'i' dalam rentetan s dalam kod rentetan ialah kedudukan ke-n Jika n bukan gandaan 2, maka kita akan menambah huruf ke-n pada dekod rentetan rentetan k1. Jika n ialah gandaan 2, maka kita akan menambah huruf ke-n daripada rentetan k2 ke rentetan nyahkod.
Dalam proses menilai sama ada s adalah karakter null sebentar tadi, jika s yang diperolehi memang karakter null, maka kita akan melompat ke proses pemprosesan berikut.
Andaikan huruf yang dimasukkan bukan gandaan 2, kemudian tukar huruf ruang kepada huruf ke-27 k1 iaitu p dan tambahkan pada huruf ke-27 k2 iaitu z.
Akhirnya tetapkan nyahkod kepada teks2.
Sebenarnya, prosedur ini sangat mudah. Mula-mula tentukan dua rentetan, setiap satu mengandungi 27 huruf, termasuk 26 huruf dan ruang. Kemudian kocok susunan salah satu rentetan. Seterusnya, mengikut rentetan yang perlu disulitkan, keluarkan setiap huruf satu persatu, dan tentukan huruf topeng yang sepadan dengan k1 atau k2 mengikut kedudukan huruf dalam rentetan. Dengan cara ini, operasi penyulitan boleh dicapai.
Dim’s As String
Sub Perintah Peribadi1_Klik()
's = InputBox("Sila masukkan rentetan bahasa Inggeris:")
s = "Saya ada buku Inggeris. Ia mempunyai 1234 muka surat."
Untuk i = 1 Kepada Len
C = UCase(Mid(s, i, 1))
Jika C >= "A" Dan C
C = Chr(Asc(C) - 3)
Jika C kurang daripada "A", maka C akan ditetapkan kepada aksara sepadan kod ASCII tambah 26.
Tamat Jika
Mid(s, i, 1) = C
Seterusnya i
MsgBox ("Rentetan yang disulitkan ialah:" & vbCrLf & s)
Tamat Sub
Sub Perintah Peribadi2_Klik()
Untuk i = 1 Kepada Len
C = Pertengahan(s, i, 1)
Jika C >= "A" Dan C
C = Chr(Asc(C) + 3)
Jika C lebih besar daripada "Z", maka C akan sama dengan Chr(Asc(C) - 26).
Tamat Jika
Mid(s, i, 1) = C
Seterusnya i
MsgBox ("Rentetan yang dinyahsulit ialah: " & vbCrLf & s)
Tamat Sub
Berikut ialah program VB untuk penyulitan dan penyahsulitan berdasarkan 2 digit terakhir nombor pelajar:
Sub Borang_Klik() Peribadi
x = Val(Kanan(Teks1.Teks, 2)) 'Dapatkan 2 digit terakhir nombor pelajar
'Berikut ialah penyulitan
s = Teks2.Teks
s1 = s
Untuk i = 1 Kepada Len
c = Pertengahan(s1, i, 1)
Pertengahan(s1, i, 1) = Chr(Asc(c) Xor x)
Seterusnya i
Teks3.Teks = s1
'Berikut ialah penyahsulitan
s = s1
Untuk i = 1 Kepada Len
c = Pertengahan (s, i, 1)
Mid(s, i, 1) = Chr(Asc(c) Xor x)
Seterusnya i
Teks4.Teks = s
Tamat Sub
Atas ialah kandungan terperinci Tulis program penyulitan rentetan dalam VB 2008 untuk menyulitkan huruf baris input aksara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!