ファイルをバイトからバイトに読み込みたい。しかし私のプログラムは最初に破るwhile
ストリームを含むファイルを読み込む
ifstream infile("new.pdf",ifstream::binary);
ofstream outfile("file.pdf",ofstream::binary);
char *c;
while(infile.read(c,sizeof(char)))
{
mpz_t M;
mpz_t K;
mpz_init2(M,10);
mpz_set_ui(M,(int)c);
mpz_init2(K,10);
mpz_powm(K,M,e,n);
char *x;
mpz_get_str(x,10,K);
outfile.write(x,sizeof(char));
}
infile.close();
outfile.close();
system("pause");
infile.open("file.pdf",ifstream::binary);
outfile.open("newt.pdf",ofstream::binary);
while(infile.read(c,sizeof(char)))
{
mpz_t C;
mpz_t K;
mpz_init2(K,10);
mpz_init2(C,10);
int x=(int)c;
mpz_set_ui(K,x);
mpz_powm(C,K,d,n);
char *s;
mpz_get_str(s,10,C);
outfile.write(s,sizeof(char));
}
infile.close();
outfile.close();
どうしたの?
ファイルをecnryptしてから暗号化する必要があります。 私は入力ファイルからバイトを読み込み、それをecnryptして別のファイルに書き込むことにしました。
を。 –
私はあなたがGMPを使用していることに気付きました。あなたはmpz_set(K、mpz_t op)のようなものを使って、最初のwhileループでKの値を設定してはいけませんか? – Neo
それは不必要ではありません。それはそれなしで動作します。私はファイルなしでプログラムでそれをテストしました。 –