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 指向加密字符串的字符串指针;

字符加密函数代码。

在 Excel 中可能有些重要数据需要修改,但遗憾的是忘记了密码。这个时候就需要进行对文件密码的破解。下面是我带来的关于excel2013关于VBA密码破解的教程,欢迎阅读!

excel2013关于VBA密码破解的教程

教程1:将你要破解的Excel文件关闭,切记一定要关闭呀!然后新建一个Excel文件

excel2013关于VBA密码破解的教程图1

教程2:打开新建的这个Excel,按下alt+F11,打开vb界面,新建一个模块,如图所示

excel2013关于VBA密码破解的教程图2

教程3:将代码复制到这个模块中,代码如下:

Private Sub VBAPassword() '你要解保护的Excel文件路径

Filename = Application.GetOpenFilename("Excel文件(*.xls &*.xla &*.xlt),*.xls*.xla*.xlt", , "VBA破解")

If Dir(Filename) = "" Then

MsgBox "没找到相关文件,清重新设置。"

Exit Sub

Else

FileCopy Filename, Filename &".bak" '备份文件。

End If

Dim GetData As String * 5

Open Filename For Binary As #1

Dim CMGs As Long

Dim DPBo As Long

For i = 1 To LOF(1)

Get #1, i, GetData

If GetData = "CMG=""" Then CMGs = i

If GetData = "[Host" Then DPBo = i - 2: Exit For

Next

If CMGs = 0 Then

MsgBox "请先对VBA编码设置一个保护密码...", 32, "提示"

Exit Sub

End If

Dim St As String * 2

Dim s20 As String * 1

'取得一个0D0A十六进制字串

Get #1, CMGs - 2, St

'取得一个20十六制字串

Get #1, DPBo + 16, s20

'替换加密部份机码

For i = CMGs To DPBo Step 2

Put #1, i, St

Next

'加入不 配对 符号

If (DPBo - CMGs) Mod 2 <>0 Then

Put #1, DPBo + 1, s20

End If

MsgBox "文件解密成功......", 32, "提示"

Close #1

End Sub

excel2013关于VBA密码破解的教程图3

教程3:然后点击运行按钮,如图所示,绿色的小三角就是

excel2013关于VBA密码破解的教程图4

教程4:你会看到,打开了一个文件夹,找到我们要破解的这个文件,然后点击打开

excel2013关于VBA密码破解的教程图5

教程5:稍等几分钟你就会看到破解成功的提示了

excel2013关于VBA密码破解的教程图6


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存