金鑰加密法(指標應用)

2021-10-07 20:44:23 字數 1236 閱讀 1821

題目描述

有一種方式是使用金鑰進行加密的方法,就是對明文的每個字元使用金鑰上對應的密碼進行加密,最終得到密文

例如明文是abcde,金鑰是234,那麼加密方法就是a對應金鑰的2,也就是a偏移2位轉化為c;明文b對應金鑰的3,就是b偏移3位轉化為e,同理c偏移4位轉化為g。這時候金鑰已經使用完,那麼又重頭開始使用。因此明文的d對應金鑰的2,轉化為f,明文的e對應金鑰的3轉化為h。所以明文abcde,金鑰234,經過加密後得到密文是cegfh。

如果字母偏移的位數超過26個字母範圍,則迴圈偏移,例如字母z偏移2位,就是轉化為b,同理字母x偏移5位就是轉化為c

要求:使用三個指標p、q、s分別指向明文、金鑰和密文,然後使用指標p和q來訪問每個位置的字元,進行加密得到密文儲存在指標s指向的位置。

除了變數定義和輸入資料,其他過程都不能使用陣列下標法,必須使用三個指標來訪問明文、金鑰和密文。

輸入

第一行輸入t表示有t個測試例項

第二行輸入乙個字串,表示第乙個例項的明文

第三行輸入乙個數字串,表示第乙個例項的金鑰

依次輸入t個例項

輸出

每行輸出加密後的密文

樣例輸入

2abcde

234xenos

56樣例輸出

cegfh

cksux

#include

#include

//strlen()所在的庫

using

namespace std;

void

decrypt

(const

char

* p,

const

char

* q,

char

* s)

elseif(

*(p + i)

>=

'a'&&

*(p + i)

<=

'z')

*(s + i)=(

char

)num;

// 賦給陣列s}*

(s + p_len)

='\0'

;// 字串陣列結束標誌

}int

main()

return0;

}

金鑰加密法(指標應用)

題目描述 有一種方式是使用金鑰進行加密的方法,就是對明文的每個字元使用金鑰上對應的密碼進行加密,最終得到密文 例如明文是abcde,金鑰是234,那麼加密方法就是a對應金鑰的2,也就是a偏移2位轉化為c 明文b對應金鑰的3,就是b偏移3位轉化為e,同理c偏移4位轉化為g。這時候金鑰已經使用完,那麼又...

金鑰加密法(指標應用)

有一種方式是使用金鑰進行加密的方法,就是對明文的每個字元使用金鑰上對應的密碼進行加密,最終得到密文 例如明文是abcde,金鑰是234,那麼加密方法就是a對應金鑰的2,也就是a偏移2位轉化為c 明文b對應金鑰的3,就是b偏移3位轉化為e,同理c偏移4位轉化為g。這時候金鑰已經使用完,那麼又重頭開始使...

問題 C 金鑰加密法(指標應用)

時間限制 1 sec 記憶體限制 128 mb 提交 339 解決 252 提交 狀態 討論版 有一種方式是使用金鑰進行加密的方法,就是對明文的每個字元使用金鑰上對應的密碼進行加密,最終得到密文 例如明文是abcde,金鑰是234,那麼加密方法就是a對應金鑰的2,也就是a偏移2位轉化為c 明文b對應...