c语言2简单加密程序

c语言2简单加密程序,第1张

#include <stdio.h>

#include<string.h>

#define N 1000

void main()

{

char str[N]

int i

putchar('\n')

printf("********start ********\n")

printf("please input your code: ")

gets(str)

for(i=0str[i]!='\0'i++) //加密控制,仅对字母 *** 作,若是数字则不 *** 作

{

if((str[i]>='a'&&str[i]<'y')||(str[i]>='A'&&str[i]<'Y')) //用于对a至y及A至Y之间的字符加密

str[i]+=2

else if(str[i]=='仔漏逗y') //单独对y加密

str[i]='a'

else if(str[i]=='z') //单独对z加密

str[i]='b'

else if(str[i]=='Y') //单独对Y加密

str[i]='A'

else if(str[i]=='Z'念卖) //单独对Z加密

str[i]='B'

}

putchar('\n')

printf("the resoult we need is: ")

puts(str)

putchar('\n')

printf("********the end ********\n")

putchar('\搜液n')

}

char key = 0xab

void encode(char *s, int len)

{

char ch = 0

for(int i=0i<leni++)

{

*s = *s ^key ^ch

ch = *s

s++

}

}

去掉了那个中断部分。

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

Code Segment

Assume CS:Code,DS:Code

-----------------让槐绝------------------------

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

入口:

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

用法: Output Str_Addr

用法举例:Output PromptStr

Output MACRO Str_Addr

lea dx,Str_Addr

mov ah,9

int 21h

EndM

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

Encode db '7846302951'

Prompt_Str1 db 'Please input the orical code: $'

Prompt_Str2 db 7,13,10,13,10,'The encode: $'

Prompt_Str3 db 13,10,13,10,'Please record the encode and than press any key to continue...$'

String db 20,?,20 dup(?) 明码输入缓冲区

Start:push cs

pop ds

push cs

pop es

Output Prompt_Str1 提示输入明码

cld

lea di,String 明码字符串地址

mov cx,20 明码数明顷字个数,可以不到20个数字,回车键结束明码输入

Read_Encode:mov ah,1

int 21h

cmp al,13 回车?

jz Disp_Encode

cmp al,'0'

jb Read_Encode

cmp al,'9'

ja Read_Encode

stosb

loop Read_Encode

Disp_Encode:mov cx,di

sub cx,offset String 实际输入的明码数字个数

lea si,String 明码字符串地址

lea bx,Encode 密码地址

Encoding: lodsb 读入1位明码

and al,0fh

xlat 查表,取得对应的密码

mov [si-1],al 写密码

loop Encoding

mov byte ptr [si],'$' 显示字符串采用DOS调用,9号功能,要求字符串以“$”结尾

Output Prompt_Str2 提示显示密码

Output String 显示密码

Output Prompt_Str3 提示用户记录密码

mov ah,1

int 21h

Exit_Proc: mov ah,4ch 结束程序

int 21h

CodeENDS

ENDStart 编译到此结束

补充回答:未知楼主要怎样的原创,这个是我百分之百的原创。此前提供的连接,也是我百分之百的原创。不知楼主用什么坦姿方法来判断回答者的答案是否原创。


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

原文地址: https://outofmemory.cn/yw/12563350.html

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

发表评论

登录后才能评论

评论列表(0条)

保存