汇编语言简易加密解密软件实现思路
加密思路:
解密思路:
程序截图
源代码
1 data segment
2 fileKey db 2,?,2 dup(?) ;存储密钥
3 fileHandle db 2 dup(?) ;存储文件代号
4 filePath db 20,?,20 dup(?),00 ;存储文件路径
5 newFilePath db 10,?,10 dup(?),00 ;存储加密或者解密的文件的路径
6 fileBuffer db 10000 dup(?) ;定义缓冲区
7 openErrorTip db 'open file error !!$';提示打开文件失败
8 readErrorTip db 'read file error !!$' ;提示读文件失败
9 encryptErrorTip db 'encrypt file error !!$' ;提示加密文件失败
10 encryptTrueTip db 'encrypt file true !!$';提示加密文件成功
11 decryptErrorTip db 'decrypt file error!!$';提示解密文件失败
12 decryptTrueTip db 'decrypt file true!!$';提示解密文件成功
13 choiceTip db 'please input choise:$';提示功能选择
14 choiceErrorTip db 'your choice is false ,choice again!!$'
15 fileInputTip db 'please input source file path:$';提示源文件路径
16 newFileInputTip db 'please input new file path:$'; 提示加密或者解密后的文件的路径
17 keyTip db 'please input Key:$' ;提示输入密钥
18 menu1 db '1.decrypt file$';菜单1,解密文件内容
19 menu2 db '2.encrypt file$';菜单2,加密文件内容
20 menu3 db '3.exit$';退出本程序
21 divide db '************************$';分割符
22 choice db 2,?,2 dup(?) ;存储选择
23 fileCount db ? ;定义实际读取的字节数
24 data ends
25 code segment
26 assume ds:data,cs:code
27 main:
28 ;展示菜单
29 call displayMenu
30 ;选择功能号
31 call getChoice
32 ;返回dos
33 call returnDos
34 ;***************
35 ;展示本软件功能
36 displayMenu proc near
37 mov ax,data
38 mov ds,ax
39 ;9号功能调用,显示分隔符
40 mov dx,offset divide
41 mov ah,9
42 int 21h
43 ;换行处理
44 call nextLine
45 ;9号功能调用,显示菜单1
46 mov dx,offset menu1
47 mov ah,9
48 int 21h
49 ;换行处理
50 call nextLine
51 ;9号功能调用,显示菜单2
52 mov dx,offset menu2
53 mov ah,