begin process at 2012 05 28 23:59:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

crypter/decrypter des fichier(tous les types)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

crypter/decrypter des fichier(tous les types)

mercredi 9 mai 2007 à 14:36:59 | crypter/decrypter des fichier(tous les types)

ryoussef1983

En fait j'utilise visual studio 2005 (sous visual c++)

j'ai réussi à trouver des méthodes pour crypter et décrypter mais le problème est que ca ne crypte que des fichiers txt .
ca peut crypter d'autres types de fichiers par exemole un test.zip, mais si je le crypte et je le decrypte j'aurais par exemple un fichier test1.zip
ce fichier quand je veux l'ouvrir il me dit fichier corrompu!

est ce que quelqu'un a  une idée pour pouvoir crypter et  decrypter tout genre de fichier
voici le code:

public

:

void GenerateKey(String ^SecretPhrase, array < unsigned char > ^&Key, array < unsigned char > ^&IV)

{

array < unsigned char > ^bytePhrase = Encoding::ASCII->GetBytes(SecretPhrase);

SHA384Managed ^sha384 = gcnew SHA384Managed();

sha384->ComputeHash(bytePhrase);

array < unsigned char > ^result = sha384->Hash;

for ( int loop = 0; loop < 24; loop++)

Key[loop] = result[loop];

for ( int loop = 24; loop < 40; loop++)

IV[loop - 24] = result[loop];

}

public

:

String ^ Crypter(String ^original, String ^keyPhrase)

{

array < unsigned char > ^Key = gcnew array < unsigned char >(24);

array < unsigned char > ^IV = gcnew array < unsigned char >(16);

GenerateKey(keyPhrase, Key, IV);

ASCIIEncoding ^textConverter = gcnew ASCIIEncoding();

RijndaelManaged ^myRijndael = gcnew RijndaelManaged();

array < unsigned char > ^encrypted;

array < unsigned char > ^toEncrypt;

myRijndael->Key = Key;

myRijndael->IV = IV;

ICryptoTransform ^encryptor = myRijndael->CreateEncryptor(Key, IV);

MemoryStream ^msEncrypt = gcnew MemoryStream();

CryptoStream ^csEncrypt = gcnew CryptoStream(msEncrypt, encryptor, CryptoStreamMode::Write);

toEncrypt = textConverter->GetBytes(original);

csEncrypt->Write(toEncrypt, 0, toEncrypt->Length);

csEncrypt->FlushFinalBlock();

encrypted = msEncrypt->ToArray();

return Convert::ToBase64String(encrypted);

}

public :

String ^ Decrypter(String ^ encryptedString, String ^keyPhrase)

{

array < unsigned char > ^Key = gcnew array < unsigned char >(24);

array < unsigned char > ^IV = gcnew array < unsigned char >(16);

GenerateKey(keyPhrase, Key, IV);

array < unsigned char > ^encrypted = Convert::FromBase64String(encryptedString);

array < unsigned char > ^fromEncrypt;

RijndaelManaged ^myRijndael =

gcnew RijndaelManaged();

ASCIIEncoding ^textConverter =

gcnew ASCIIEncoding();

myRijndael->Key = Key;

myRijndael->IV = IV;

ICryptoTransform ^decryptor = myRijndael->CreateDecryptor(Key, IV);

MemoryStream ^msDecrypt = gcnew MemoryStream(encrypted);

CryptoStream ^csDecrypt = gcnew CryptoStream(msDecrypt, decryptor, CryptoStreamMode::Read);

fromEncrypt = gcnewarray < unsignedchar >(encrypted->Length);

csDecrypt->Read(fromEncrypt, 0, fromEncrypt->Length);

return textConverter->GetString(fromEncrypt);

}

int main( array <System::String ^> ^args){

 

StreamReader ^sr = gcnew StreamReader( this ->val3);

StreamWriter ^sw = gcnew StreamWriter( this ->val5);

try

{

String ^a = Crypter(sr->ReadToEnd(), this ->GetValue1());

sw->Write(a);

}

catch (Exception^)

{

}

finally

{

sr->Close();

sw->Close();

}

StreamReader ^sr = gcnew StreamReader( this ->val3);

StreamWriter ^sw = gcnew StreamWriter( this ->val5);

try

{

String ^a = Decrypter(sr->ReadToEnd(), this ->GetValue1());

sw->Write(a);

}

catch (Exception^)

{

}

finally

{

sr->Close();

sw->Close();

}
return0;
}

mercredi 9 mai 2007 à 15:15:42 | Re : crypter/decrypter des fichier(tous les types)

emmatopiak

Tu vas con tinuer a flooder comme ça combien de temps ? Ca fait trois fois que tu post le même, on t'a répondu dans les autres, alors regarde stp tes autres topics!

Une autruche ne se cuit pas aux petits lardons.
mercredi 9 mai 2007 à 15:35:58 | Re : crypter/decrypter des fichier(tous les types)

ryoussef1983

c par ce que dans l'aute le code etait pas lisible
donc je me suis dis je vais reposer la meme question en plus lisible
dsl..
mercredi 9 mai 2007 à 22:12:34 | Re : crypter/decrypter des fichier(tous les types)

BruNews

Administrateur CodeS-SourceS
No problem tout va bon, j'ai enlevé le post précédent.

ciao...
BruNews, MVP VC++
jeudi 10 mai 2007 à 09:09:07 | Re : crypter/decrypter des fichier(tous les types)

ryoussef1983

j'ai changé les methodes crypter et decrypter de facon à ce que ca donne des array (à la place des strings), cette fois ci ca me donne un fichier vide lorsque je decrypte ?

est ce que t a une idée comment je pourrais utiliser des tableaux de caractères à la place des string
lundi 16 juillet 2007 à 11:38:50 | Re : crypter/decrypter des fichier(tous les types)

Dsantu

Bonjour
Je cherche de l'aide à propos des générateurs peudo aléatoires.

Je veux programmer un Galois_LFSR en C/C++ mais je n'arrive pas a avoir des résultats coérents.

Quelqu'un peut-'il me donner un algo de codage deGalois-LFSR en utilisant des tableaux comme registre?

Merci


Cette discussion est classée dans : key, array, char, unsigned, gcnew


Répondre à ce message

Sujets en rapport avec ce message

pb avec conio je cher cherche l'erreur( j'ai merde sur le mess precedent) [ par kin ] portpia.cpp#include"PortPiaPc.h"void main(){ PortPiaPc inst; inst(0x320,0x0f);}PortPiaPc.cpp#include "PortPiaPc.h"#include "conio.h"PortPiaPc::PortPia Pointeurs sur des tableaux de plusieurs dimensions [ par ProGamer ] J'ai besoin de faire des pointeurs sur ce genre de tableaux. Voici comment je m'y prends (et surtout, voici comment ça ne marche pas...):unsigned char char* to unsigned char* [ par rodrigos ] comment peut-on convertir un char* en unsigned char*?à quoi correspond un unsigned char*?Merci pour votre aide!! Comment concertir Ansistring en unsigned char*????? [ par asik38 ] Ansistring x;unsigned char str[100];str[100]=x;??????Merci!!! struct [ par ready4 ] Je ne sais pas comment initialiser mes moteurs //intialisation moteursM1 = {2, 1, 1, 2, 0, 0, 120};M2 = {8, 4, 4, 8, 0, 0, 80};M3 = {32, 16, 16, 32, 0 pb avec variable [ par jeffise57 ] Please aidez moiJe reçoit comme arugument du fonction des variables unsigned char* et je doit passer dans une deuxième fonction les même arguments mai Sniffing - raw socket [ par krum ] J'ai essayé de coder un programme capable de me donner la description de l'en tete IP et TCP des packets que je reçois d'une certaine IP,mais lorsque array size too large [ par gameking ] Bonjour à vous, voici mon probleme. Dans mon programmr j'ai une structure et lorsque je la compile j'ai l,euueur array size too large. Je veux garder Conversion de unsigned char en float (17.6E) [ par lemenager ] Bonjour,Je dois lire un fichier binaire dans lequel il y a des float en format (17.6E). J'ai l'impression que je suis oblige de les lires en unsigned transformer un tableau 2d en image bitmap [ par gyzmo1 ] Bonjour a tous, voilà mon problème, je suis en train de mettre en place une méthode de comparaison de signature manuscrites. Cette méthode s applique


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales