目前常用的文件加密软件有那几款?

目前常用的文件加密软件有那几款?,第1张

文件加密工具》百度网盘资源免费下载:

链接: https://pan.baidu.com/s/14pEAtH1adyHmwgJR9Qx-HQ

?pwd=i4b6 提取码: i4b6

数据安全、隐私一直是很多小伙伴比较注重的,现免费分享一款文件加密软件附使态哗衡用教程,此工具能够帮助大家快速进行全新的加密文件帆做 *** 作,也支持移动加密即不同电脑进行芦携加密解密 *** 作,帮助大家管理自己的各种电脑文件,做好电脑的安全防护工作。

本程序通过编译,运行正确

Code Segment

Assume CS:Code,DS:Code

-----------------------------------------

功能:显示指定地址(Str_Addr)的字符串

入口:

Str_Addr=字符串地址(要求在数据段)

用法: Output Str_Addr

用法举例:Output PromptStr

Output MACRO Str_Addr

push dx

lea dx,Str_Addr

mov ah,9

int 21h

pop dx

EndM

-----------------------------------------

功能:打开指定路径下的文件。若打开成功,保存文件代号,设置进位标志;

否则,建立文件,保存文件代号,清进位标志

入口参数:dx=文件名地址,bx=文件代号保存地址

Open_File Proc Near

mov ax,3d02h 以读写方式打开文件

int 21h

jc @@Error

mov [bx],ax 成功打开,保存文件代号

stc 设置进位标志

ret

@@Error: Output Open_Error

xor cx,cx 新建文件属性

Create_File:mov ah,3ch 建立文件

int 21h

jc Create_File 建立不成功,尝试再建

mov [bx],ax 成功建立,保存文件代号

clc 清进位标志

ret

Open_File EndP

-----------------------------------------

功能:对字中棚塌符串缓冲区中的内容逐个字符加密

入口参数:si=字符串地址,cx=字符数

Encode_Str Proc Near

push si

push cx

lea di,Handle_File

mov al,[di][88] 读取密钥

@@Encoding: xor byte ptr [si],al 异或,第一步加密

push cx

mov cx,188

rol byte ptr [si],cl 循环左移188位,第二步加密

pop cx

inc si 下一个字符地址

loop @@Encoding 处理下一个字符

pop cx

pop si

ret

Encode_Str EndP

-----------------------------------------

功能:对字符串缓冲区中的内容逐个字符加密

入口参数:si=字符串地址,cx=字符数

Uncode_Str Proc Near

push si

push cx

lea di,Handle_File

mov al,[di][88] 读取密钥

@@Uncoding: push cx

mov cx,188

ror byte ptr [si],cl 循环右移188位,第一步解密

pop cx

xor byte ptr [si],al 异或,第二步解密

inc si 下一个字和慧符地址

loop @@Uncoding 处理下一个字符

pop cx

pop si

ret

Uncode_Str EndP

------------------------------卖圆-----------

Handle_File dw ?,?,? 文件代号

File_Name1 db 'c:\masm\rory00.txt',0 未加密的文本文件

File_Name2 db 'c:\masm\rory01.txt',0 加密后的文本文件

File_Name3 db 'c:\masm\rory02.txt',0 解密后的文本文件

Open_Error db 'Open file error,creat a new file.',13,10,13,10,7,'$'

Input_New db 'Input the new information:',13,10,'$'

Press_Key db 13,10,13,10,'The Encode and Uncode have been completed.',7

db 13,10,13,10,'Press any key to exit...$'

Start: push cs

pop ds

push cs

pop es 使数据段、附加段与代码段同段

-----------------------------------------

打开或建立三个文件

lea dx,Buffer 文本内容处理缓冲区

mov cx,0ffc0h 预留32个字的堆栈空间

sub cx,dx 设置读写一次文件内容的字节数

mov bp,cx 暂存

lea dx,File_Name2 文件名地址

lea bx,Handle_File[2] 文件代号保存地址

call Open_File 打开指定路径下的文件。若打开成功,保存文件代号;否则,建立文件,保存文件代号

lea dx,File_Name3 文件名地址

lea bx,Handle_File[4] 文件代号保存地址

call Open_File

lea ax,@@jump000

push ax

call @@Locate_01

@@Locate_00:lea dx,File_Name1 文件名地址

lea bx,Handle_File 文件代号保存地址

call Open_File

jc Read_File

-----------------------------------------

若是新建文件,输入文件内容,实施加密,写到另一个文件

Input_Str: Output Input_New 提示输入新信息

lea dx,Buffer 文本内容处理缓冲区

mov ah,0ah 键盘输入字符串

int 21h

lea si,Buffer[1] 实际输入的字符个数地址

lodsb 读取实际输入的字符数

test al,0ffh

jz Input_Str 若直接回车,未输入任何字符,再次提示输入新信息

mov dx,si 数据缓冲区地址

mov cl,al 实际输入的字符数

xor ch,ch

mov bx,Handle_File 读取未加密的文本文件代号

Write_Uncod:mov ah,40h

int 21h

jc Write_Uncod 写入失败,尝试再写

call Encode_Str 逐个字符加密

mov dx,si 数据缓冲区地址,要写入的字符数已在cx中

mov bx,Handle_File[2] 文件代号

Write_Coded:mov ah,40h

int 21h

jc Write_Coded 写入失败,尝试再写

jmp @@Uncode

@@Locate_01:pop ax

ret

-----------------------------------------

若成功打开文件,读取文件内容,实施加密,写到另一个文件

Read_File: lea dx,Buffer 文本内容处理缓冲区

mov cx,bp

mov bx,Handle_File 读取未加密的文本文件代号

mov ah,3fh 读文件内容

int 21h

jc Read_File 读文件失败,尝试再读

test ax,0ffffh

jz @@Uncode 若实际读取的字节数为0,结束读写 *** 作

lea si,Buffer

mov cx,ax

call Encode_Str 逐个字符加密

mov dx,si 数据缓冲区地址,要写入的字符数已在cx中

mov bx,Handle_File[2] 读取目标文件代号

Write_File: mov ah,40h 写文件

int 21h

jc Write_File 写文件失败,尝试再写

jmp Read_File

-----------------------------------------

修改子程序Encode_Str和Encode_Str中的循环移位次数

@@jump000: mov byte ptr Encode_Str[13],6

mov byte ptr Uncode_Str[11],6

lea ax,@@Locate_00

push ax

call @@Locate_01

-----------------------------------------

将加密完的内容解密,写入第三个文本文件

@@Uncode: xor dx,dx

xor cx,cx

Loca_Seek1: mov bx,Handle_File[4] 读取解密后的文本文件代号

mov ax,4200h 移动文件指针至文件头

int 21h

jc Loca_Seek1

Loca_Seek2: mov bx,Handle_File[2] 读取加密后的文本文件代号

mov ax,4200h 移动文件指针至文件头

int 21h

jc Loca_Seek2

lea dx,Buffer 文本内容处理缓冲区

Read_File1: mov cx,bp

mov bx,Handle_File[2] 读取加密后的文本文件代号

mov ah,3fh 读文件内容

int 21h

jc Read_File1 读文件失败,尝试再读

test ax,0ffffh

jz Close_File1 若实际读取的字节数为0,结束读写 *** 作,关闭文件

lea si,Buffer

mov cx,ax

call Uncode_Str 逐个字符解密

mov dx,si 数据缓冲区地址,要写入的字符数已在cx中

mov bx,Handle_File[4] 读取解密后的文本文件代号

Write_File1:mov ah,40h 写文件

int 21h

jc Write_File1 写文件失败,尝试再写

jmp Read_File1

Close_File1:mov bx,Handle_File 读取未加密的文本文件代号

mov ah,3eh 关闭文件

int 21h

jc Close_File1

Close_File2:mov bx,Handle_File[2] 读取加密后的文本文件代号

mov ah,3eh 关闭文件

int 21h

jc Close_File2

Close_File3:mov bx,Handle_File[4] 读取解密后的文本文件代号

mov ah,3eh 关闭文件

int 21h

jc Close_File3

Output Press_Key 提示 *** 作完成,按任意键结束程序

mov ah,1

int 21h

Exit_Proc: mov ah,4ch 结束程序

int 21h

ALIGN 10h 节对齐

Buffer db 255 文本内容处理缓冲区

Code ENDS

END Start 编译到此结束

'图上的控件团瞎,你就照着摆上去,然后再宏友把以下代码拷进去,就OK了

Dim lg As Integer

'加密

Private Sub Command1_Click()

Text2 = ""

Dim a(), b() As String

lg = Len(Text1)

ReDim a(lg), b(lg)

For i = 1 To lg

a(i) = Mid(Text1, i, 1)

b(i) = AscW(a(i)) Xor 4

Text2 = Text2 &ChrW(b(i))

Next

End Sub

'解密

Private Sub Command2_Click()

Text3 = "蔽或槐"

Dim a(), b() As String

lg = Len(Text2)

ReDim a(lg), b(lg)

For i = 1 To lg

a(i) = Mid(Text2, i, 1)

b(i) = AscW(a(i)) Xor 4

Text3 = Text3 &ChrW(b(i))

Next

End Sub


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存