VB 加密与解密的程序代码

VB 加密与解密的程序代码,第1张

加密:

Private Function JiaMi(ByVal varPass As String) As String '参数varPass是需要加密的文本内容

Dim varJiaMi As String * 20

Dim varTmp As Double

Dim strJiaMi As String

Dim I

For I = 1 To Len(varPass)

varTmp = AscW(Mid$(varPass, I, 1))

varJiaMi = Str$(((((varTmp * 1.5) / 5.6) * 2.7) * I))

strJiaMi = strJiaMi &varJiaMi

Next I

JiaMi = strJiaMi

End Function

解密函数

Private Function JieMi(ByVal varPass As String) As String '参数varPass是需要解密的密文内容

Dim varReturn As String * 20

Dim varConvert As Double

Dim varFinalPass As String

Dim varKey As Integer

Dim varPasslenth As Long

varPasslenth = Len(varPass)

For I = 1 To varPasslenth / 20

varReturn = Mid(varPass, (I - 1) * 20 + 1, 20)

varConvert = Val(Trim(varReturn))

varConvert = ((((varConvert / 1.5) * 5.6) / 2.7) / I)

varFinalPass = varFinalPass &ChrW(Val(varConvert))

Next I

JieMi = varFinalPass

End Function

扩展资料:

注意事项

编写加密程序,将用户输入的一个英文句子加密为加密字符串,然后输出加密字符串。假设句子长度不超过100个字符。

根据给定的句子加密函数原型SentenceEncoding,编写函数SentenceEncoding调用给定的字符加密函数CharEncoding完成句子加密。

然后,编写主程序提示用户输入英文句子,然后调用函数SentenceEncoding对句子加密,最后输出加密后的句子。

字符加密规则为大写蔽铅字母和改禅小写字母均加密为其补码, 我们定义ASCII码值相加为’A’+’Z’即155的两个大写字母互为补码,ASCII码值相加为’a’+’z’即219的两个小写字母互为补码。

空格用@代替,句号以#代替,其它字符用句点代宏歼好替。

函数原型:

void SentenceEncoding(char *soure,char *code)

功能:对待加密字符串source加密后保存加密字符串到code.

参数:char *soure,指向待加密句子的字符串指针;

char *code 指向加密字符串的字符串指针;

字符加密函数代码。

'你这个需求很有意思啊,编写难度不是很大,但要考虑全面。

'运行效果如上图,代码如下所示:

'判断中我将大小写字母均按规则进行了转换。

'原创,亲测可用,转发请说明出处。

Private Sub Command1_Click()

Dim a, b As String

a = Text1.Text

Dim i As Integer

i = Len(a)

Dim arr() As String

ReDim arr(1 To i)

Dim j As Integer

For j = 1 拆凳To i

 b = Mid(a, j, 1)

 If Asc(b) >= 97 And Asc(b) <= 118 Then

 arr(j) = Chr(Asc(b) + 4)

 End If

 If Asc(b) = 119 Then

   arr(j) = "a"

 End If

 If Asc(b) = 120 Then

   arr(j) = "b"

 End If

 If Asc(b) = 121 Then

   arr(j) = "c"

  End If

 If Asc(b) = 122 Then

   arr(j) = "d"

 End If

 If Asc(b) >= 65 And Asc(b) <= 86 Then

 arr(j) = Chr(Asc(b) + 4)

 End If

 If Asc(b) = 87 Then

   arr(j) = "A"

 End If

 If Asc(b) = 88 Then

   arr(j) = "B"

 End If

 If Asc(b) = 旅森旅89 Then

   arr(j) = "C"

  End If

 If Asc(b) = 春模90 Then

   arr(j) = "D"

 End If

 If Asc(b) < 65 Or Asc(b) > 122 Or (Asc(b) > 90 And Asc(b) < 97) Then

  arr(j) = b

 End If

Next j

Text2.Text = Join(arr, "")

End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12385976.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存