多看加密解密
㈠ 字符的加密和解密
创建3个文本框名称分别为:
txtCode 用于显示加密后的字符串
txtRecode 用于显示解密后的字符串
txtInput 用于输入要加密的字符串
创建3个按钮,名称分别为:
cmdcls 清屏
cmdcode 加密
cmdrecode 解密
Dim strInput$, Code$, Record$, c As String * 1
Dim i%, length%, iAsc%
Private Sub cmdcls_Click() '清屏
txtCode.Text = ""
txtRecode.Text = ""
txtInput.Text = ""
End Sub
Private Sub cmdcode_Click() '加密
Dim strInput$, Code$, Record$, c As String * 1
Dim i%, length%, iAsc%
strInput = txtInput.Text
length = Len(RTrim(strInput)) '去掉字符串右边的空格,求真正的长度
Code = ""
For i = 1 To length
c = Mid$(strInput, i, 1) '取第i个字符
Select Case c
Case "A" To "Z" '大写字母加序数5加密
iAsc = Asc(c) + 5
If iAsc > Asc("Z") Then iAsc = iAsc - 26 '加密后字母超过Z
Code = Code + Chr$(iAsc)
Case "a" To "z"
iAsc = Asc(c) + 5 '小写字母加序数5加密
If iAsc > Asc("z") Then iAsc = iAsc - 26
Code = Code + Chr$(iAsc)
Case Else '当第i个字符为其它字符时不加密,与加密字符串的前i-1个字符连接
Code = Code + c
End Select
Next i
txtCode.Text = Code '显示加密后的字符串
End Sub
Private Sub cmdrecode_Click() '解密与加密正好逆处理
Code = txtCode.Text
i = 1
recode = ""
length = Len(RTrim(Code)) '若还未加密,不能解密,出错
If length = 0 Then J = MsgBox("先加密再解密", 48, "解密出错")
Do While (i <= length)
c = Mid$(Code, i, 1)
If (c >= "A" And c <= "Z") Then
iAsc = Asc(c) - 5
If iAsc < Asc("A") Then iAsc = iAsc + 26
recode = Left$(recode, i - 1) + Chr$(iAsc)
ElseIf (c >= "a" And c <= "z") Then
iAsc = Asc(c) - 5
If iAsc < Asc("a") Then iAsc = iAsc + 26
recode = Left$(recode, i - 1) + Chr$(iAsc)
Else
recode = Left$(recode, i - 1) + c
End If
i = i + 1
Loop
txtRecode.Text = recode
End Sub
㈡ c#加密后解密判断秘钥的值是否一致,比如可以返回true或者false
用正确的skey加密一个字符串,放到方法里边做对比。