我一直試圖在C++中獲得相當於C++的代碼數天,現在還沒解決。在C#中相當於RSA C++#
這裏是我的C#代碼:
RSAParameters rsaParams = new RSAParameters();
rsaParams.Modulus = someByteArray;
rsaParams.Exponent = someByteArray1;
rsaParams.D = someByteArray2;
rsaParams.DP = someByteArray3;
rsaParams.DQ = someByteArray4;
rsaParams.P = someByteArray5;
rsaParams.Q = someByteArray6;
rsaParams.InverseQ = someByteArray7;
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
rsa.ImportParameters(rsaParams);
byte[] encryptedData = rsa.Encrypt(toEncrypt, false);
}
我只想有完全相同的結果,但在C++(跨平臺)。我看了很多圖書館/課程,但看起來不太合理。首先,Crypto ++是偉大的,但所有我想要的是RSA,所以當我看着它時,所有的散列/加密/其他算法都是浪費。我發現this類,我認爲這很好,因爲它只有RSA,而且很小。問題是,這些參數是不是與C#命名相同,或者它不支持。我覺得我不應該知道每個參數在RSA中意味着什麼才能實現它,因爲我只想在這裏完成一個簡單的任務。謝謝。
是因爲你在C#前端和C++後端,你需要相同的參數的原因是什麼? – 2012-08-02 23:06:22
不,這是因爲我只是用C#測試一些東西,而我的應用程序將使用C++,所以我只需要將它轉移。 – hetelek 2012-08-02 23:07:26
由於您使用的RSA加密包含隨機填充,即使成功實現了正確的兼容C++版本,也不會得到完全相同的結果。此外,只有前兩個字段(模數和指數)需要或用於RSA *加密*。 – 2012-08-03 22:39:05