汇编语言(三十一)之数字字符串加密与解密
输入一串数字,然后进行加密解密输出
程序运行:
代码:
datas segmentline_max_len db 0ffh line db 0, 100h dup(?)linesecret db 0, 100h dup(?)linedesecret db 0, 100h dup(?)secret db '7','5','9','1','3','6','8','0','2','4'desecret db '7','3','8','4','9','1','5','0','6','2'input db 'input a line number:$'outputsecret db 0dh,0ah,'secret:$'outputdesecret db 0dh,0ah,'desecret:$'outputnosize db 0dh,0ah,'size is 0$'outputerr db 0dh,0ah,'input error$'datas endsstacks segment stackdb 100h dup(?)stacks endscodes segmentassume cs:codes,ds:datas,ss:stacks
main proc far
start:push dsmov ax,0hpush axmov ax,datas ;初始化dsmov ds,ax;输出输入提示lea dx,inputmov ah,9int 21h ;输入一串字符lea dx,line_max_lenmov ah,10 int 21h;判断字符串长度是否为0cmp line,0 jz nosize;输出加密的提示lea dx,outputsecretmov ah,9int 21h ;加密mov cl,linexor ch,chlea bx,secret ;获取加密的地址表mov si,0s:mov al,line+1[si] cmp al,'0' ;判断要加密的字符是否合法jb errcmp al,'9'ja errsub al,30h ;加密xlatmov linesecret[si],al ;保存加密的字符inc si loop smov linesecret[si],'$' ;设置字符串结束标志lea dx,linesecret ;输出加密的字符串call OUTPUT;输出解密提示lea dx,outputdesecretmov ah,9int 21h ;解密mov cl,linexor ch,chlea bx,desecret ;获取解密的地址表mov si,0s1:mov al,linesecret[si] cmp al,'0' ;判断要解密的字符是否合法jb errcmp al,'9'ja errsub al,30h ;解密xlatmov linedesecret[si],al ;保存解密的字符inc si loop s1mov linedesecret[si],'$' ;设置输出字符串结束标志,并且输出解密字符串lea dx,linedesecretcall OUTPUTjmp exit ;跳至退出nosize:lea dx,outputnosize ;没有输入提示mov ah,9int 21h jmp exiterr:lea dx,outputerr ;输入错误提示mov ah,9int 21h exit:retmain endpOUTPUT proc near uses ax dx mov ah,9int 21h ret
OUTPUT endp
codes endsend main
汇编语言(三十一)之数字字符串加密与解密相关推荐
- 程序员编程艺术第三十~三十一章:字符串转换成整数,通配符字符串匹配
第三十~三十一章:字符串转换成整数,带通配符的字符串匹配 前言 之前本一直想写写神经网络算法和EM算法,但写这两个算法实在需要大段大段的时间,而平时上班,周末则跑去北大教室自习看书(顺便以时间为序,说 ...
- 字符串加密、解密算法
字符串加密.解密算法包括: MD5.Des.Base64三种方式,详情如下所示:using System; using System.Collections.Generic; using System ...
- Java代码:字符串加密与解密
Java代码:字符串加密与解密 获取字符串的长度length() 把字符串转为字节数组getBytes() 字节数组转换为字符串String(b) /* *java代码:字符串加密与解密 **/ pa ...
- Delphi 字符串加密和解密函数
泰山老父的Delphi 字符串加密和解密函数 function Encrypt(const InString:string; Salt:string): string; vari : Byte;Sta ...
- 字符串加密与解密_一种可以用在程序加密的功能
本篇博客会有两篇代码,均为C# 编写而成.其中一篇为先行的各种加密技术如何使用(转载出处会在文末注明):另一篇为利用以上加密技术做出的一个类库,可以使程序捆绑在运行此程序的硬件并限定使用时间,十分高效 ...
- c语言 字符串加密和解密算法实现
#include <stdio.h> #include <string.h> #define KEY 5 //偏移量/** 加密和解密字符串* 加密规则:字符串每个字符加上其在 ...
- JavaScript 字符串加密和解密
使用CryptoJS 加密和解密 JavaScript 字符串 使用NcryptJS 加密和解密 JavaScript 字符串 使用CryptoJS 加密和解密 JavaScript 字符串 Cry ...
- web.config 中connectionStrings连接字符串加密、解密问题
注意:是对虚拟目录下还是物理目录下的文件加密 加密网站中的配置信息,我们不需要写任何代码,也不需要修改任何代码,只需要使用 aspnet_regiis 工具修改配置文件即可.比如我们有下面一个配置文件 ...
- C语言试题三十一之判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。
1. 题目 请编写函数function,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no.回文是指顺读和倒读都是一样的字符串. 2 .温馨提示 ...
最新文章
- access汇总含义_2020最新大厂内部 PHP 高级工程师面试题汇总(二)
- 解决:夜神模拟器连不上adb的问题
- centos7安装uwsgi报错_如何将CentOS 7升级到CentOS 8
- Hadoop学习之整体介绍及环境搭建
- php源码怎样安装mysql_安装MySQL
- 吃货阶段01 类的定义 方法的布局 0925
- 微信H5页面嵌入百度地图---解决手机的webKit定位,ios系统对非https网站不提供支持问题
- 入口函数ufusr()与ufsta()的区别
- 莫兰迪颜色表以及RGB向16进制颜色的转换连接
- php?what=chinese,推荐4-ChineseUtil v1.1.2 发布,PHP 中文工具包
- WPS标题编号级别,根据上一级自动编号
- ArcGIS裁剪影像如何保持裁剪完全一致
- 51单片机——LED点阵屏
- 跟着源码看lcn分布式事务
- Java实现的快递柜管理系统(附上完整代码可用作期末课程设计)
- Linux ubuntu 20.04安装unrar
- 官方scratch3.0正式发布,全面支持移动设备在线编程!
- 异常:git did not exit cleanly (exit code 128)
- PTA 7-10 计算工资
- 计算机网络离不开光缆,无线网络论文.doc
热门文章
- java 云架构_java版Spring Cloud云架构代码结构构建
- 7-2 一元多项式的乘法与加法运算 (20 分)(思路加详解+map做法)map真香啊 各个测试点的用例子 来吧宝贝!
- Java当中包装类的理解和一些常用方法的分享(学习后分享)
- [蓝桥杯][2013年第四届真题]危险系数-dfs+图的遍历
- Mediator(中介者)--对象行为型模式
- 数据结构与算法--实现Singleton模式
- 内存超频trfc_这只是开始?四款DDR4内存超频效果对比
- word List23
- 单片机课程设计数字心率计_如何选购合适的PH计
- Fine-tunning适用情况