2012-08-24 3 views
0

RSA 알고리즘으로 텍스트를 암호화하고 암호화 한 후 문자열 형식으로 변환하려고합니다. 바이트 형식의 암호화 된 텍스트가 있지만, 보호 수준의 오류가 있으므로 문자열로 변환 할 수 없습니다. 저는 암호화 시스템에 새로운 것이므로 복사/변환하기 위해 데이터를 어떤 방식 으로든 처리해야하는지 여부를 알지 못합니다. 이 문제를 명확히 설명해 주시겠습니까?암호화 된 데이터를 "보호 수준으로 인해 액세스 할 수 없으므로"문자열 형식으로 변환 할 수 없습니다.

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); 
    UnicodeEncoding encode = new UnicodeEncoding(); 

    RSAParameters PublicKey; 
    RSAParameters PrivateKey; 
    byte[] encBytes; 
    string encString; 

    // ********************* ENCRYPT THE TEXT WITH PUBLIC KEY ********************* 
    private void buttonEncrypt_Click(object sender, RoutedEventArgs e) 
    {    
     rsa.ImportParameters(PublicKey); 

     encBytes = rsa.Encrypt(encode.GetBytes(textBoxIn.Text), false); 
     encString = encode.GetString(encBytes); <-- INACCESSIBLE DATA ERROR     
     rsa.Dispose(); 
    } 

감사

답변

0

당신이 this method를 시도 :

이 코드의 조각은 무엇입니까?

encString = encode.GetString(encBytes, 0, encBytes.Length); 
+0

맞아요, 작동합니다! – Mices7

+0

그러나 프로그램의 암호 해독 부분에도 동일한 방법을 적용했지만 대부분의 경우 예외가 발생했습니다 (알 수없는 오류 80007001). 이는 코드가 아닌 rsa 알고리즘 자체로 인해 발생합니다. . 이 문제에 대해 알고 계시나요? 어쨌든 고마워. – Mices7

관련 문제