在密钥加密方式中,可以通过自己指定的一个密钥将字符串加密,而解密也必须通过密钥。本题采用的具体实现方法是将字符串的每个字符转换为ASCII码,顺序加上密钥中的对应数字后转换回ASCII字符得到密文(当密钥位数不够时重新从第一位循环)。
以原文:Hello,密钥:123为例,“H”转换为ASCII码后加上密钥的第一个数字1,再转换回ASCII字符,得到“I”;“e”转换为ASCII码,加上密钥的第二个数字2,转换回ASCII得到“g”;“l”则加上密钥的第三个数字3得到“o”;随后原文又出现“1”,但是密钥中的数字已经用完了,则密钥从头开始,加上“1”,得到“m”;“o”则得到“q”,最后产生密文“Igomq”。
具体程序如下,但是有两处加框的代码错误,请改正:
Dim code As String, key
As String
Dim i As Integer, res_code
As String
Dim l_code As Integer,
l_key as Integer
Private Sub Command1_Click(
)’加密程序
code = Text1.Text
key = Text2.Text
l_code =Len(code)
l_key =Len(key)
res_code = “”
For i = 1 To ‘⑴
c =Asc(Mid(code, i, 1))
k = ‘⑵
res_code = res_code +Chr(k + c)
Next i
Text3.Text = res_code
End Sub
Private Sub Command2_Click( )
‘解密程序略
End Sub
⑴{#blank#}1{#/blank#} ⑵{#blank#}2{#/blank#}