2017-03-10 2 views
-2

salut je tente le décryptage en utilisant l'algorithme tripleDES. Les parties de codage est ci-dessous:L'entrée n'est pas une chaîne Base-64 valide car elle contient un caractère non-base 64, plus de deux caractères de remplissage

try 
{ 
    System.Security.Cryptography.TripleDESCryptoServiceProvider des = new System.Security.Cryptography.TripleDESCryptoServiceProvider(); 
    des.IV = new byte[8]; 
    System.Security.Cryptography.PasswordDeriveBytes pdb = new System.Security.Cryptography.PasswordDeriveBytes(key, new byte[-1 + 1]); 
    des.Key = pdb.CryptDeriveKey("RC2", "MD5", 128, new byte[8]); 
    byte[] encryptedBytes = Convert.FromBase64String(file); 
    System.IO.MemoryStream ms = new System.IO.MemoryStream(file.Length); 
    System.Security.Cryptography.CryptoStream decStream = new System.Security.Cryptography.CryptoStream(ms, des.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Write); 
    decStream.Write(encryptedBytes, 0, encryptedBytes.Length); 
    decStream.FlushFinalBlock(); 
    byte[] plainBytes = new byte[Convert.ToInt32(ms.Length - 1) + 1]; 
    ms.Position = 0; 
    ms.Read(plainBytes, 0, Convert.ToInt32(ms.Length)); 
    decStream.Close(); 
    return Encoding.UTF8.GetString(plainBytes); 
} 
catch (Exception ex) 
{ 
    throw; 
} 

exemple de fichier Encrypted

PK YjJ.ÿ × ® {9-èr JOURNAL ISSUE_6_3907-3916.tif¬ºwPS_ ÷ ð> FM # @ $ t ¤ØšÐA¤ƒ¡šÐ¤ ÷ & & « ] Dô « "¢ € « & * "" K ë÷òý½ÏÜû̽sÿxgÞ5³öúœ½Ï:³Ö:gï={æØÙí à/ îÐŽ€ ÿá_àüÇAwÆþÃÿz€þÃ…þ‡ÿUÑÿb íØ¿;Šþ¯~©ÿbéÿðþeþs¿èN‡,òŸq @î?LØiðÿå«þþ7fþŸØwD(Ú±ª;ƒú;ŒÙaãŽgà œë¼£o~ë;µÞ@Àá¾uhº þÏzÑ ñÿ¶6ÎD›Ðèø„øÀ¸°˜âAÝ};OÖÕ; ¨ »CPO-¨§g¨k ¸×à߸8ÿú!€È¨„8WŠÕË›ø/¡ÆÇPœ ÿ¿òmòÒ¼Ðüï$(8>ðßÐwôD L \ Anla <• OEO/‡ Î0 & àøÿpÆ¿ | ÜÝÕb ‡ Ò6u®aî] Áu /: 5º ‡ {Ö {^? ÒìyÜ £ ëCRÏÑVj "§'JùÓc · ½ # = ïßyÝáuĨ ~ r5¹Û? úȽßþœì ¥ ÅPUe $ Ø ± ÔîòEÃqqÃWWWhWŒ" Ä {u/$> \ Mð6Q8Ü0žèÝr × ïÆTD'É • W'wßD% ûô, |? Ñ € "âkª & Sðp> .Õ Õ þ ± G-ÒüLŽ \ μ '" îw1¹çýzJ † ¿™ ZÅÓÅ'þŽÝ} ûy; # ó¨Yà «Õï¿ 3O} ° øý ÷? ½Hq ° · XKÄC: HAxÅò °> d¾ŠH_q³¶X? RdŸDñŠ b% n ... (Ñ:, 9rð, ‰ ð "Båã † Jš # å ¢ Få-¬œPF ¸¨ö_¯ñ¸'ùºæôH »ö" Ò • žÝ # 'ƒz # gμžîy * éðrßÓ³o < "ÌÿpðÙÙÙÙU £ QÉ'¯ & £ gWþ~a $ "± 2m s † èaô" KÔ œÅ (¢ bè¨a? ¾O «¯Eh½¶Í <% y3ÇR» ÿ¸¼P? ÇpÊ # T [9û ¥ ú o|§º ‰ mÎKL "½Ç × öh? O + ú'Äëg¼¸ÒV% ÞTiùª × ¯öï; ä?] îaãéíé-yÜgŸ • _¤'TE "wnb-Õ × ³§ÿèë; ¥ RqGŽdgIÌ> 'vðÀà † ƒ † Ì.§" î ÷ ÞüÄcj0Q "Î> Ûœ¼ ·/Mb

lorsque i déchiffrer le fichier i eu exception que

l'entrée est pas une chaîne base-64 valable, car il contient un caractère non-base 64, plus de deux caractères de remplissage, ou un caractère illégal parmi les caractères de remplissage

Comment résoudre ce problème?

+2

Votre entrée n'est pas base64, alors pourquoi essayez-vous de la décoder comme si elle l'était? – CollinD

+0

J'ai besoin de décrypter et je veux effectuer une opération –

Répondre

2

Votre fichier est compressé. Voyez le PK au début? Ce sont les initiales de Phil Katz, le créateur de l'original PKZip pour DOS. Et voyez-vous le JOURNAL-ISSUE_6_3907-3916.tif? C'est le nom du fichier contenu dans le fichier zip. Alors enregistrez-le quelque part et essayez de l'ouvrir avec votre programme préféré pour ouvrir les zips.

+0

Ceci n'est pas un fichier zip –

+2

@MalathiMals Le fait qu'il y ait un texte lisible (* JOURNAL-ISSUE_6_3907-3916.tif' *) montre qu'il n'est pas entièrement crypté. – xanatos