我一直有麻煩編碼RSA加密字節字符串,然後讓他們回到另一端(遠程主機)的字節。另一方面,它會拋棄壞數據。我試過谷歌,沒有運氣。加密RSA,編碼爲字符串。在另一端編碼回字節和解密RSA
到目前爲止我的代碼:
PC1:
array<Byte>^Test=Encoding::ASCII->GetBytes(Input); array<Byte>^TempByteText=RSA->Encrypt(Test,false); String^ Test2 = Encoding::ASCII->GetString(TempByteText); return Test2;
的我送Test2的到PC2。除此之外,我發送的任何文本或字節都按預期到達另一端,但是會爲RSA加密字節執行。
PC2:
array<Byte>^Test=Encoding::ASCII->GetBytes(Input); array<Byte>^TempByteText=RSA->Decrypt(Test,false);
即使我在本地返回的功能,它仍然同樣的錯誤的數據說。我有一個1024位的密鑰,所以加密的大小應該是128字節,就是這樣,但它仍然是壞數據。
任何幫助將被關聯。
爲什麼你使用RSA而不是像AES這樣的對稱密碼,這個作業? RSA比AES慢大約1000倍,並且數據被限制在密鑰大小,RSA位不受AES的限制。另外一個1024位的密鑰真的很小,你應該使用2048位或者最好是4096位的密鑰。 RSA不比AES更安全。 – zaph
這不是家庭作業哈哈。這是我的個人項目。是的,我也使用AES,但它適用於AES,但不適用於RSA。 – SubSpecs