1 solutions
-
0
分析
Vigenere密码
核心思想:可以理解为密钥在滚动加密明文。
Vigengere密码使用一个词组作为密钥,第一个密钥字母加密明文的第一个字母,第二个密钥字母加密明文的第二个字母,等所有密钥字母使用完后,密钥又再循环使用(即,后文中未加密明文的第一个对应密钥的第一个,后面一一对应)。
可行代码
#include <iostream> #include <string.h> using namespace std; const int MAX = 10000; int main() { char key[100]; char plaintext[MAX]; cin >> plaintext >> key; int len = strlen(plaintext); int keyLen = strlen(key); for (int i = 0; i < len;) for (int j = 0; j < keyLen && i < len; j++) plaintext[i++] = 'a' + (plaintext[i] + key[j] - 2 * 'a') % 26; puts(plaintext); return 0; }
- 1
Information
- ID
- 6509
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 62
- Accepted
- 21
- Uploaded By