彙編 題目 45,46 字串加密

2021-10-25 10:19:39 字數 3039 閱讀 8123

在記憶體中定義乙個用於加密的key和明文本串,用這個key的每個字元依次和明文本串的對應字元進行異或操作得到密文字串,並將密文字串儲存在另乙個變數中。例如:key為「abxmv#7」

;在記憶體中定義乙個用於加密的key和明文本串,

;用這個key的每個字元依次和明文本串的對應字

;符進行異或操作得到密文字串,並將密文字串

;儲存在另乙個變數中。例如:key為「abxmv#7」

datas segment

;此處輸入資料段**

buf1 db 'i love you'

,'$'

count1 equ $-buf1

buf2 db 'abxmv#7'

,'$'

count2 equ $-buf2

buf3 db 100

dup(?)

datas ends

stacks segment

;此處輸入堆疊段**

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

;此處輸入**段**

mov si,

0 mov di,

0loop_begin:

mov ah,buf1[si]

mov al,buf2[di]

xor ah,al

mov buf3[si]

,ah inc si

cmp si,count1

je print ;只能從這裡跳出

inc di

cmp di,count2

je initialize_di

jmp loop_begin

initialize_di:

mov di,

0 jmp loop_begin

print:

mov si,

0 xor cx,cx

mov cx,count1

subprint:

xor dx,dx

mov dl,buf3[si]

mov ah,

02h int

21h inc si

loop subprint

mov ah,

4ch int 21h

codes ends

end start

在記憶體中定義乙個用於加密的key和明文本串,key中的每個數字表示將明文本串中的對應字元進行旋轉移位的次數,負數表示左移位,正數表示右移位。加密key的長度為10個位元組:-2, 4, 1, 0, -3, 5, 2, -4, -4, 6。先用加密key處理字串的前10個位元組,再處理接下來的10個位元組,以此類推。將密文字串儲存在另乙個變數中。

;done;==

====

====

====

====

====

====

;在記憶體中定義乙個用於加密的key和明文本串,

;key中的每個數字表示將明文本串中的對應字元

;進行旋轉移位的次數,負數表示左移位,正數表示

;右移位。加密key的長度為10個位元組:-2,

4,1,

0,;-

3,5,

2,-4

,-4,

6。先用加密key處理字串

;的前10個位元組,再處理接下來的10個位元組,以此類推。

;將密文字串儲存在另乙個變數中。

;description

data segment use16

buf1 db 'i love you'

,'$'

count1 equ $-buf1

buf2 db -2,

4,1,

0,-3

,5,2

,-4,

-4,6

count2 equ 10

buf3 db 100

dup(?)

data ends

;description

code segment use16

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

mov es,ax

mov si,

0 mov di,

0loop1:

mov ah,buf1[si]

mov al,buf2[di]

cmp al,

0 jl loop2 ;ajge loop3;a>=b有符號

loop2:

neg al

mov cl,al

rol ah,cl

mov buf3[si]

,ah jmp loop4

loop3:

mov cl,al

ror ah,cl

mov buf3[si]

,ah jmp loop4

loop4:

inc si

cmp si,count1

je end0

inc di

cmp di,count2

je loop5

jmp loop1

loop5:

mov di,

0 jmp loop1

end0:

mov cx,count1

mov si,

0end1:

mov dx,

0 mov dl,buf3[si]

inc si

mov ah,

02h int

21h loop end1

mov ah,

4ch int

21hcode ends

end start

彙編 題目 26,27 字串處理

我的這種思路好像更簡單一點 現有一組字串為data,name,time,file,code,path,user,exit,quit,text,請編寫程式從鍵盤輸入4個字元的字串,若存在將其修改為disk,並將結果在顯示器上顯示。datas segment buf1 db data,name,time...

1077 字串加密

time limit 1 sec memory limit 128 mb submit 5589 solved 2760 submit status web board 輸入一串字元 長度不超過100 和乙個正整數k,將其中的英文本母加密並輸出加密後的字串,非英文本母不變。加密思想 將每個字母c加乙...

1164 字串加密

題目描述 輸入一串字元 長度不超過100 和乙個正整數k,將其中的英文本母加密並輸出加密後的字串,非英文本母不變。加密思想 將每個字母c加乙個序數k,即用它後面的第k個字母代替,變換公式 c c k。如果字母為z,則後乙個字母是a,也就是字母字元形成乙個圓。輸入 輸入第一行是若干字元,以回車結束。輸...