C++: как обмениваться входными и выходными данными для этого кода?
Вот код ниже. Код касается RSA.
#include "rsa.h" int main() { RSA rsa(13, 77); rsa.crypt("plainFile", "cipherFile"); return 0; }
rsa.cpp
<pre>#include "rsa.h" #include <fstream> #include <cmath> RSA :: RSA(int k, int m) : key(k), modulus(m) { } RSA :: ~RSA() { } void RSA :: crypt(const char* inFile, const char* outFile) { ifstream istrm(inFile, ios :: in); ofstream ostrm(outFile, ios :: out); int base, result; while (istrm >> base) { result = modulo(base, key, modulus); ostrm << result; ostrm << ' '; } istrm.close(); ostrm.close(); } int RSA:: modulo(int base, int power, int modulus) { int result = 1; for (int i = 0; i < power; i++) { result = (result * base) % modulus; } return result; }
ОГА.ч
<pre>#ifndef RSA_H #define RSA_H #include <iostream> using namespace std; class RSA { private: int key; int modulus; int modulo(int base, int power, int modulus); public: RSA(int key, int modulus); ~RSA(); void crypt(const char* inFile, const char* outFile); }; #endif
Выход должен быть таким
Contents of Plaintext File: 14 27 12 45 9 64 22 8 Contents of Ciphertext File: 49 48 12 45 58 36 22 50
Теперь я хотел бы сделать так, чтобы этот выход стал входом, и получить этот выход
#include "rsa.h" int main () { RSA rsa (13, 77); // 13 is the value of e and 77 is value of n rsa.crypt ("plainFile", "cipherFile"); return 0; }
Я пытаюсь обмениваться вводом и выводом, но не знаю, с чего начать, могу ли я просто немного измениться, чтобы сделать это? или мне нужно переписать код? кто-нибудь может помочь? Как мне это сделать? Спасибо.
Что я уже пробовал:
Я пытаюсь использовать вектор для вывода тока, но не знаю, как это сделать.
KarstenK
шифрование-это святая благодать вычислительной техники. Для этого вам нужно действительно много знаний. Так что узнайте об этом подробнее.