平邑最近有那些新闻:汇编 程序设计

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 16:40:53
字符串的加密和解密的汇编程序,简单的加密算法就行。。

基于80X86的,最好控制在百行左右。。。
能帮忙找到下载源码链接或者网页地址也好~~

感谢 稻草臻;顺便问下文件的加密该怎么进行?该如何进行读取和写入。再次感谢!

我写了一个时间仓促似乎不够简练:
通过将字符串的二进制存储进行循环右移实现简单的加密,(可以更改右移位数),解密口令为 ‘a’,输入密码有三次机会,三次密码错误后或者正确现实原数据后跳出。
程序框架占了不少行数。
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
MSG2 DB 0DH,0AH,'INPUT THE PRIMAL DATAS:$'
MSG3 DB 0DH,0AH,'THE CRYPTOGRAPH:$'
MSG4 DB 0DH,0AH,'NOW OPEN YOUR PURSE.....'
DB 0DH,0AH,' CHECK UP YOUR KEY:$'
MSG5 DB 0DH,0AH,'WARNING:KEY ERROR!$'
MSG6 DB 0DH,0AH,'THE PRIMAL DATAS:$'

DATA DB 50 DUP(?)
KEY DB 1 DUP(?)

STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码据段代码
LEA DX,MSG2 ;输入原始数据,加密,原始密码为'a'
MOV AH,09H
INT 21H

MOV CL,03H ;设置错误提示次数
MOV DI,OFFSET(DATA)
INPUT:
MOV AH,01H
INT 21H
CMP AL,0DH
JE INPUTEND

ROR AL,1 ;右移一位加密

MOV [DI],AL
INC DI
JMP INPUT
INPUTEND:
MOV [DI],AL ;输出秘文
LEA DX,MSG3
MOV AH,09H
INT 21H

MOV DI,OFFSET(DATA)
JMP OUTPUT

OUTPUT:

MOV DL,[DI]
CMP DL,0DH
JE OUTPUTEND

MOV AH,02H
INT 21H
INC DI

JMP OUTPUT

OUTPUTEND:
LEA DX,MSG4
MOV AH,09H
INT 21H

MOV AH,01H
INT 21H ;输入验证密码
CMP AL,'a'
JE DATAOUTPUT

JMP ERROR

DATAOUTPUT: ;还原数据
LEA DX,MSG6
MOV AH,09H
INT 21H

MOV DI,OFFSET(DATA)
DATAOUT:
MOV DL,[DI]
CMP DL,0DH
JE DATAOUTEND
ROL DL,1
MOV AH,02H
INT 21H
INC DI
JMP DATAOUT
ERROR: ;错误提示
DEC CL
CMP CL,0H
JE DATAOUTEND
LEA DX,MSG5
MOV AH,09H
INT 21H

JMP OUTPUTEND
DATAOUTEND:
MOV AH,4CH
INT 21H
CODES ENDS
END START