汇编程序:字符串加密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 字符串加密(1)编程为datasg段中字符串中的每个字符加密,加密规则是:每个字符的ASCII值加4。加密好的字符写在待加密字符的后面assume cs:codesg,ds:datasgdatasg segment db 'aah, I love you!' db '................'datasg endscodesg

字符串加密

(1)编程为datasg段中字符串中的每个字符加密,加密规则是:每个字符的ASCII值加4。加密好的字符写在待加密字符的后面

assume cs:codesg,ds:datasg
datasg segment
      db 'aah, I love you!'
      db '................'
datasg ends
codesg segment
start: (写程序)
       mov ax,4c00h
       int 21h
codesg ends
end start

[参考解答]

assume cs:codesg,ds:datasg
datasg segment
      db 'aah, I love you!'
      db '................'
datasg ends
codesg segment
start: mov ax, datasg
       mov ds, ax
       mov cx, 16
       mov si, 0
       mov di, 16
change:mov al, [si]
       add al, 4
       mov [di], al
       inc si
       inc di
       loop change

       mov ax,4c00h
       int 21h
codesg ends
end start

(2)编程为datasg中的每个字符串加密,加密的规则是,每行第1个字符ASCII码加1,第2个字符ASCII码加2,依类类推。已知每个字符串固定为16个字符,非空格字符不足16的,后都是空格。加密后的符号替代原字任,就写在原处。

datasg segment
      db 'He Li Jian      '
      db 'Zhai Yi Ming    '
      db 'Sun Xue Jiao    '
      db 'Ma Wen Ming     '
datasg ends

[参考解答](程序变得复杂,要及时写注释了)

assume cs:codesg,ds:datasg
datasg segment
      db 'He Li Jian      '
      db 'Zhai Yi Ming    '
      db 'Sun Xue Jiao    '
      db 'Ma Wen Ming     '
datasg ends
stacksg segment
      dw 0,0,0,0,0,0,0,0
stacksg ends
codesg segment
start: mov ax, stacksg
       mov ss, ax
       mov sp, 16
       mov ax, datasg
       mov ds, ax
       mov bx, 0    ;基址
       mov cx, 4    ;外层循环次数
       mov dl, 1    ;这是第几个字符?
   s0: push cx      ;保存外层循环数
       mov si, 0    ;[bx+si]将是要处理的字符
       mov cx, 16       ;设置内层循环次数
    s: mov al, [bx+si]  ;取字符
       add al, dl       ;加密
       mov [bx+si], al  ;写入加密字符
       inc si
       inc dl
       loop s
       add bx, 16   ;准备为下一个字符串加密
       mov si, 0
       mov dl, 1
       pop cx
       loop s0

       mov ax,4c00h
       int 21h
codesg ends
end start


目录
相关文章
|
7月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署DailyTxT加密日记网络应用程序
【4月更文挑战第6天】使用Docker部署DailyTxT加密日记网络应用程序
143 2
|
7月前
|
数据安全/隐私保护
使用加密工具类进行有效的字符串加密——CSDN博客
使用加密工具类进行有效的字符串加密——CSDN博客
|
7月前
|
数据安全/隐私保护
常用的字符串加密解密工具类
常用的字符串加密解密工具类
|
4月前
|
存储 算法 数据库
使用python hashlib模块给明文字符串加密,以及如何撞库破解密码
`hashlib` 是 Python 中用于实现哈希功能的模块,它可以将任意长度的输入通过哈希算法转换为固定长度的输出,即散列值。该模块主要用于字符串加密,例如将用户名和密码转换为不可逆的散列值存储,从而提高安全性。`hashlib` 提供了多种哈希算法,如 `md5`、`sha1`、`sha256` 等。
68 1
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
130 2
加快软盘操作速度的汇编程序源代码
加快软盘操作速度的汇编程序源代码
|
4月前
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
51单片机用汇编语言实现独立按键检测,每个按键有不同功能,包含按键消抖程序
140 3
|
4月前
|
程序员 编译器 数据处理
汇编高手秘籍:解锁性能优化新境界,用汇编语言让你的程序飞起来!
【8月更文挑战第31天】汇编语言作为编程基石,其高效性能备受推崇。尽管现代软件开发更偏爱高级语言,但在性能要求极高的场景下,汇编优化仍不可或缺。本文通过示例代码介绍四种优化技巧:循环展开、寄存器分配、指令重排及SIMD指令使用,显著提升执行效率。同时强调分析性能瓶颈、测试优化效果及保持代码可读性的重要性,助力开发者在关键代码路径上实现性能突破。
116 0
|
4月前
|
算法 安全 数据安全/隐私保护
实战案例2:简单的文件加密解密程序。
实战案例2:简单的文件加密解密程序。
141 0
|
5月前
|
网络协议 安全 网络安全
LabVIEW程序的常见加密方式
LabVIEW程序的常见加密方式
220 1