2011-09-16 60 views
-1

我正在嘗試使用system.security.cryptography使用3DES解密,但在給加密哈希解密或加密純文本時引發異常。3DES的密鑰大小無效

錯誤:指定的密鑰對此算法無效。

private byte[] KEY_192; 
    private byte[] IV_192; 

    public string DecryptTripleDES(string value) 
    { 

     if (value != "") 
     { 
      TripleDESCryptoServiceProvider cryptoProvider = new TripleDESCryptoServiceProvider(); 
      MemoryStream ms = new MemoryStream(Convert.FromBase64String(value)); 
      CryptoStream cs = new CryptoStream(ms, cryptoProvider.CreateDecryptor(this.KEY_192, this.IV_192), CryptoStreamMode.Read); 
      StreamReader sr = new StreamReader(cs); 
      return sr.ReadToEnd(); 
     } 
     return value; 
    } 
    private void button1_Click(object sender, EventArgs e) 
    { 
     textBox1.Text=textBox1.Text.Trim().Replace("'", ""); 


     string password = DecryptTripleDES(textBox1.Text); 
     textBox1.Text = password; 

    } 
+3

你沒有顯示你正在初始化KEY_192和IV_192的位置,如果它抱怨密鑰大小是無效的,那麼這是重要的一點...... –

回答

0

您需要將值分配給KEY_192和IV_192。