題目描述
有一種方式是使用金鑰進行加密的方法,就是對明文的每個字元使用金鑰上對應的密碼進行加密,最終得到密文
例如明文是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對應...