-4
キーに応じて文字列をシフトする関数を作成する必要があります。たとえば、フレーズが「AAAAAA」で、キーが「CDE」の場合、出力は「DEFDEF」でなければなりません。これまでに私は思いつきましたC++コードの暗号化チェック
string encrypt(string phrase, string key){
string final;
for(int j = 0; j <= key.length()-1; j++){
for(int i=j; i <= phrase.length()-1; i += key.length()){
int int_phr = phrase[i];
int int_key = key[j];
char temp = int_phr+int_key-96;
final += temp;
}
}
return final;
しかし、私は "D"を得るために "A"と "C"を追加することでエラーが発生し続けます。
アドバイスはありますか?彼らのASCII値が97
で起動するので、int_key
が小文字だった場合、これは正しいだろう
char temp = int_phr + int_key - 96;
:
これはVIgenere Cipherと呼ばれます。 Googleには、たくさんのコード例があります。 – Barmar
「エラー」とは何ですか? –