RSACryptoServiceProvider objRsaCrypto= new RSACryptoServiceProvider();
string xmlString = "<RSAKeyValue><Modulus>vafMwhQ1Z+zx1tpcUybDONf3M7IG8Xw6Q0eCsuWMRniqwUklnzndo9ExuAFC87oAywOcSSzSncLEgILxjiyNmnBe28whdDg+P1PJmDchmBIjzQKNpDIppOiaxGOUR8KqBwIMp24dZQtUqb9mElEEz5bOxZUwHLg2/fJ9bT+eE+VluHtYfuuS/nbhrvI6BHN2bm2CyITBAvT6loCm7mV/JZ0fT9nCsyn6rUsp+YCVbhrfMnyz9aW7NEkwncE7xz78LSIHaYgB19nPu5jkR6yUCLsNDV9wnOBjb1Xuh7NqTjt2yOAcH+Gt5ixukfKBROq67FlnQKZOa+mQNzkhytEeyw==</Modulus><Exponent>AQAB</Exponent><P>4tDAYRgWNcyB5dCN7kF8QUa4ddiw6siEblGnjcFpdrQLyJxFvCZ7Jlc/59Wmr8B/1G06coRla5NLBCtvh/Itovacfp00wNif5pBb/Tp9+quw5/GGSu/4/K/Ke0wQuhHdWNjzAriNxbpCRWD/EgzNngWS8KlufdymZyju6AWyEZk=</P><Q>1g8B7fQ3SMDZ2EyaiSscchj3lshJx9VR8EAN70aipu45LRsOWuHH7wTkfqp1LuB06LyCr7XLMwUQYrBM8mJOhtxsiissXe+Phw1kcXJo6hBrCPgfSKSkuHT8iR7OgZbzYA8zwMmr+m2WOuDsgxrQcb+hRVdC1QODqFb8C08YegM=</Q><DP>vW5Zbf4e9pmx142CLH3219HH12y9/aiwqi56QPNLML+Yo9iYiVaePdxa3DZdO6YLXRBI40HeLqVa3sWkJadHJDbRZxHG8FU73uWsXmcOtl/UpTLb1RRtICV1d9qEkdK/yiePdjNK/Nvd43HqNloJFLRVD7iCNo4lUD0ooxG2sek=</DP><DQ>BCeWaf/rcsYLdF9IQJFNpAlIBO0uQWqqhHc5zgMY9RR6l52G0czADKuTo8G7NIW2vy2pe6+TmhHnF4NEew/dZlCw6p2b5tbXek+QO4N09dYLvcjTEp3fdJUQsbifWXSMlLi20G8Zn2qxF8N107WZhhuqDaZ77ZZ737CQg8etOfE=</DQ><InverseQ>xEjq9mm61gofysxxgM6SnX5TQ5Lnpq0AvnsRBhQaatiGm8i+VnznMpk8zJgn/AspaYS62bFC/UdCd/b2VyXgZfBC/L1NdkIUNyOVAxNKhf95C4uQFFxe90RfuZjbbClFbm/tU7RmycHqciPXViI35tToF1CXMJsxd7q6M2iaXKc=</InverseQ><D>HVnfO/gBreRDJzOjDzFUDDOMK+F05qGJqMjj5sjUtUFOd9xYqLQ9Y3FoJuh3Ep4qKkEUSlTYAZdXbuYU+SJXBdw3KgAE+2YK6CUQ8XAy0ESaastm3U7wF/fxn8wjchmj07LS/4RwoycmQqD+7H3CZ1gZBwYILKGrzRBere4nCj/1i5LTbfweAMUo85KMfZDbGChlJUhd4vNiRPGmOeKCT1/xDAw/3ZKfUbhUjzBxg/1PThhLtv2wYEdkLpUq1RZmlJACtDD++fkt9x19UecfMpX7NmI43WLoc1x7ydtinrIO0b0NhFStXAPEQXlYyE4JvOSqIxJIbb/E7Vl5okVxOQ==</D></RSAKeyValue>";//my private key
objRsaCrypto.FromXmlString(xmlString);
string cyphertextyear ="mell442PqhwZRDvAVawKhtspVWFsVG6x/6v7BzcaDvOFWImXOiq3hCZq6N0i7UpCkV8YVLLS/LTarWrSgrqskfQnIwA+inZIhfZLm3odUrYpBCMXJh9Y7s+6ugqiwpMu1xap9LBqhP7LdChwIV0c7GimgZKVVk7mZHBgmVOHRSx61RAx6HDkc0F7dfjBR+jUQR08knu4MUUNx7xQ6pSkg1MyTwrX4upMoodccBwni+cUFZWmIeEHazMMd2r6PkuwMvHkueFm0B4UsWnsqHtjgQuU5zmGx9rWpDIyDCKNTvWkTyB1lUrhpNk6qqeFZXVPPTsxfKcA0Pp2oz6ZF4ir";//my cypher text
byte[] bytesCypherText = Convert.FromBase64String(cyphertextyear);
byte[] bytesPlainTextData = objRsaCrypto.Decrypt(bytesCypherText, false);
string strDecryptedVal = Encoding.ASCII.GetString(bytesPlainTextData);
我使用的RSACryptoServiceProvider解密在Windows 8工作正常,但失敗在windows server 2012 r2中有以下異常RSA解密與2048位的密鑰是Windows服務器上給人的長度340的加密文本壞數據2012 R2,而它在Windows工作正常8
System.Security.Cryptography.CryptographicException:Bad Data。
在 System.Security.Cryptography.CryptographicException.ThrowCryptographicException(的Int32 小時)在 System.Security.Cryptography.RSACryptoServiceProvider.DecryptKey(SafeKeyHandle pKeyContext,字節[] pbEncryptedKey,的Int32 cbEncryptedKey,布爾 fOAEP,ObjectHandleOnStack ohRetDecryptedKey )
在System.Security.Cryptography.RSACryptoServiceProvider.Decrypt(字節[] RGB,布爾fOAEP)在
@ArtjomB感謝響應。我已經包含了私鑰和密文。 – user3459002
http://stackoverflow.com/questions/1496793/rsa-encryption-getting-bad-length –
@WazeAndroid數據不長.. – user3459002