다음 문제에서 도와주세요. MVC3에서 RSA 암호화 및 암호 해독
RSAEncryptionAndDecryption rsaEncDec = new RSAEncryptionAndDecryption(document.PublicKey, document.PublicAndPrivateKey);
string reportContent = rsaEncDec.Decrypt(document.Report).OriginalData;
내가 MVC1 위의 코드를 사용
는, 암호 해독이 제대로 작동하지만, 동일한 코드가 MVC3에서 원래 문자열을 해독 할 수 없습니다 .. 암호화 코드는 다음과 같습니다RSACryptoServiceProvider rsaCryptoServiceProvider = new RSACryptoServiceProvider(bitStrength);
rsaCryptoServiceProvider.FromXmlString(publicKey);
int keySize = bitStrength/8;
byte[] dataToEnc = Encoding.UTF32.GetBytes(inputData);
int maxLength = keySize - 42;
int dataLength = dataToEnc.Length;
int iterations = dataLength/maxLength;
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i <= iterations; i++)
{
byte[] tempBytes = new byte[(dataLength - maxLength * i > maxLength) ? maxLength : dataLength - maxLength * i];
Buffer.BlockCopy(dataToEnc, maxLength * i, tempBytes, 0, tempBytes.Length);
byte[] encryptedBytes = rsaCryptoServiceProvider.Encrypt(tempBytes, true);
Array.Reverse(encryptedBytes);
stringBuilder.Append(Convert.ToBase64String(encryptedBytes));
}
인코딩 된 문자열을 db에 저장하는 동안 오류가 발생하여 암호화 된 문자열 절반 부분이 저장됩니다.
인코딩 된 문자열이 DB에 저장되는 동안 트리밍되는 중입니다. 이는 MVC3이 아닌 MVC3을 사용할 때만 발생합니다.
나는 html 내용을 암호화합니다. 암호화 된 내용은 공개 키와 개인 키와 함께 저장됩니다. 동일한 키가 호출 될 때 DB에서 가져 오지만 해독이 제대로 작동하지 않습니다. 원래 문자열이 생성되어 일부 특수 문자로 중지되었습니다.
감사합니다.
'RSAEncryptionAndDecryption'이란 무엇이며 질문에'visual-studio-2010-beta-2' 태그가 붙은 이유는 무엇입니까? 당신이 사용하고있는 것입니까? –
Visual Studio 2010 소프트웨어를 사용하고 있습니다. 그게 ... – SUBRA
'RSAEncryptionAndDecryption'은 어떨까요? 어떻게 구현됩니까? –