用汇编编写加解密函数

1.data段

cpp 复制代码
data db "hello,sam"
key db "key"
dataLen dword ?
endata byte 10 dup(0)
dedata byte 10 dup(0)

2.Encryption(加密)

cpp 复制代码
Encryption proc
    push ebp
    mov  ebp,esp

    ;加密数据长度,循环次数
    mov  ecx,sizeof data
    ;寄存器不够用 
    sub  esp,4
    mov  dword ptr [ebp-4],sizeof key 
    mov  dataLen,0
la:
    mov eax,dataLen
    mov ebx,dword ptr [ebp-4]
    cdq
    idiv ebx
    mov bl,byte ptr key[edx]
    mov edx,dataLen
    mov al,byte ptr data[edx]
    not al
    xor al,bl
    mov byte ptr endata[edx],al
    inc dataLen
    loop la
    mov esp,ebp
    pop ebp
    ret
Encryption endp

3.Decryption (解密)

cpp 复制代码
Decryption proc
    push ebp
    mov ebp,esp
    mov ecx,dataLen
    mov dataLen,0
    sub  esp,4
    mov  dword ptr [ebp-4],sizeof key 
la:
    mov eax,dataLen
    mov ebx,dword ptr [ebp-4]
    cdq
    idiv ebx
    mov bl,byte ptr key[edx]
    mov edx,dataLen
    mov al,byte ptr endata[edx]
    xor al,bl
    not al
    mov byte ptr dedata[edx],al
    inc dataLen
    loop la

    mov esp,ebp
    pop ebp
    ret
Decryption endp
相关推荐
玖玥拾9 分钟前
C/C++ 基础笔记(十三)继承
c语言·c++·继承
bIo7lyA8v1 小时前
算法复杂度评估的实验统计方法与可视化的技术8
算法
李老师讲编程1 小时前
中国电子学会图形化2020.12月Scratch三级考级题
算法·scratch·信息学奥赛·图形化编程·scratch素材
退休倒计时2 小时前
【每日一题】LeetCode 53. 最大子数组和 TypeScript
数据结构·算法·leetcode·typescript
旖-旎2 小时前
FloodFill(图像渲染)(1)
c++·算法·深度优先·力扣
戴西软件2 小时前
戴西 DLM 许可授权管理系统:破解无网络环境下工业软件授权难题,助力制造企业降本增效
网络·人工智能·python·深度学习·程序人生·算法·制造
西城微科方案开发2 小时前
多品类电子秤一体化PCBA整体方案
单片机·嵌入式硬件·电子秤
2601_961875242 小时前
法考资料2026|全套|资料已整理
数据结构·算法·链表·贪心算法·eclipse·线性回归·动态规划
无限码力2 小时前
美团研发岗 4月18号笔试真题 - 坐标
算法·美团笔试真题·美团笔试题·美团研发岗笔试题·美团研发岗4月18号真题