AIDE Cryptage [Résolu]

Signaler
Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010
-
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
-
Bonjour !

Voila j'ai fais le tour de phpcs et je ne trouve pas de script de cryptage / décryptage et qui ont l'air bien sécurisé.



Auriez vous un BON script qui crypte et decrypte ?



Merci

10 réponses

Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og blesud ( Bonjour )


Concernant les modes :


- MCRYPT_MODE_ECB (electronic codebook) est prévu pour des données aléatoires, telles que des clés. Comme les données sont peu nombreuses et aléatoires, les inconvénients de l'ECB ont ici un effet négatif favorable.
- MCRYPT_MODE_CBC (cipher block chaining) est spécialement pratique avec les fichiers dont la sécurité ECB n'est pas suffisante.
- MCRYPT_MODE_CFB (cipher feedback) est la meilleure méthode pour chiffrer des flots d'octets, quand les octets doivent être cryptés un par un.
- MCRYPT_MODE_OFB (output feedback, in 8bit) est comparable à CFB, mais peut être utilisé lorsque des erreurs ne doivent pas être propagées.
- MCRYPT_MODE_NOFB (output feedback, in nbit) est comparable à OFB, mais plus sûr, car il opère avec la taille de blocs de l'algorithme.
- MCRYPT_MODE_STREAM est un mode supplémentaire, pour permettre l'utilisation d' algorithmes tels WAKE ou RC4.

Concernant le cypher sont disponibles :

MCRYPT_3DES, MCRYPT_ARCFOUR_IV (libmcrypt > 2.4.x seulement), MCRYPT_ARCFOUR (libmcrypt > 2.4.x seulement), MCRYPT_BLOWFISH, MCRYPT_CAST_128, MCRYPT_CAST_256, MCRYPT_CRYPT, MCRYPT_DES, MCRYPT_DES_COMPAT (libmcrypt 2.2.x seulement), MCRYPT_ENIGMA (libmcrypt > 2.4.x seulement, alias de MCRYPT_CRYPT), MCRYPT_GOST, MCRYPT_IDEA (non-free), MCRYPT_LOKI97 (libmcrypt > 2.4.x seulement), MCRYPT_MARS (libmcrypt > 2.4.x seulement, non-libre), MCRYPT_PANAMA (libmcrypt > 2.4.x seulement), MCRYPT_RIJNDAEL_128 (libmcrypt > 2.4.x seulement), MCRYPT_RIJNDAEL_192 (libmcrypt > 2.4.x seulement), MCRYPT_RIJNDAEL_256 (libmcrypt > 2.4.x seulement), MCRYPT_RC2, MCRYPT_RC4 (libmcrypt 2.2.x seulement), MCRYPT_RC6 (libmcrypt > 2.4.x seulement), MCRYPT_RC6_128 (libmcrypt 2.2.x seulement), MCRYPT_RC6_192 (libmcrypt 2.2.x seulement), MCRYPT_RC6_256 (libmcrypt 2.2.x seulement), MCRYPT_SAFER64, MCRYPT_SAFER128, MCRYPT_SAFERPLUS (libmcrypt > 2.4.x seulement), MCRYPT_SERPENT(libmcrypt > 2.4.x seulement), MCRYPT_SERPENT_128 (libmcrypt 2.2.x seulement), MCRYPT_SERPENT_192 (libmcrypt 2.2.x seulement), MCRYPT_SERPENT_256 (libmcrypt 2.2.x seulement), MCRYPT_SKIPJACK (libmcrypt > 2.4.x seulement), MCRYPT_TEAN (libmcrypt 2.2.x seulement), MCRYPT_THREEWAY, MCRYPT_TRIPLEDES (libmcrypt > 2.4.x seulement), MCRYPT_TWOFISH (pour les vieilles versions mcrypt 2.x, ou mcrypt > 2.4.x ), MCRYPT_TWOFISH128 (les TWOFISHxxx sont disponibles dans les nouvelles versions 2.x, mais pas dans les versions 2.4.x), MCRYPT_TWOFISH192, MCRYPT_TWOFISH256, MCRYPT_WAKE (libmcrypt > 2.4.x seulement), MCRYPT_XTEA (libmcrypt > 2.4.x seulement) ...



Méfiez-vous en France la loi n'autorize pas au delà de 128 ...


Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón ( Mon nom )

HARDWARE : Partie de l'ordinateur qui reçoit les coups quand se plante le software ...
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og blesud

<?php

/*
En fait vous êtes libre de choisir le mode et le cypher. Voici d'autres exemples possibles :

$td = mcrypt_module_open(MCRYPT_TripleDES, '', MCRYPT_MODE_CBC, '');
$td = mcrypt_module_open(MCRYPT_TripleDES, '', MCRYPT_MODE_ECB, '');
$td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, '');
$td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_ECB, '');

Pour l'exemple ici j'utilise le cypher TripleDES et le mode CBC :

*/

$td = mcrypt_module_open(MCRYPT_TripleDES, '', MCRYPT_MODE_CBC, '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);
$key = substr(md5('ma clef très secrète'), 0, $ks);
$chaine='Ma chaine à traiter ...';

mcrypt_generic_init($td, $key, $iv);
$encrypted = mcrypt_generic($td, $chaine);
mcrypt_generic_deinit($td);

mcrypt_generic_init($td, $key, $iv);
$decrypted = mdecrypt_generic($td, $encrypted);
mcrypt_generic_deinit($td);

mcrypt_module_close($td);

echo "Encrypt : ".trim($encrypted)."
\n";
echo "Decrypt : ".trim($decrypted)."
\n";

?>

ATTENTION : Si vous utiliser la librairie mcrypt_win32 il y a un bug dans la dernière version (celle du 19 Janvier 2004) au niveau de la fonction mdecrypt_generic(); il vous faut par conséquent utiliser l'ancienne version (celle du 30 Décembre 2002) disponible ici : http://ftp.emini.dk/pub/php/win32/mcrypt/old/libmcrypt.dll

Voili voilou

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón

HARDWARE : Partie de l'ordinateur qui reçoit les coups quand se plante le software ...
Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Merci ca marche nikel, mais quel est la difference entre tout ces modes ?

Encore merci.

Ps : ca veut dire quoi ? Sael og blesud et Sigurjón Bírgir Sigurðssón aka Sjón ?
Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Merci ca marche nikel, mais quel est la difference entre tout ces modes ?

Encore merci.

Ps : ca veut dire quoi ? Sael og blesud et Sigurjón Bírgir Sigurðssón aka Sjón ?
Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Merci !
Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Re Bonjour , je cherche un bon script de cryptage ET de decryptage en PHP qui me sorte un resultat sans caracteres speciaux.





Exemple :





chaine : Bonjour ca va





> ^$ù/\m:$^$ù$çà)_)è : jen veux pas


> 5456DFdsfds4ffdsq : jen veux bien








auriez vous ca en stock ?


MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og blesud

En fonction de la fonction que je vous fournis plus tôt et notament en MP pour obtenir le résultat souhaité veuillez user de la fonction PHP bin2hex et de son contraire ...

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón

HARDWARE : Partie de l'ordinateur qui reçoit les coups quand se plante le software ...
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og blesud

PS : MASTIS49 Je ne vous donne pas le contraire car après tout c'est à vous de chercher mais si vous avez des questions ... n'hésitez pas ... ;-) Fra en skal en med fyrir ... ( vous êtes le bienvenue ... etc ... )

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón

HARDWARE : Partie de l'ordinateur qui reçoit les coups quand se plante le software ...
Messages postés
368
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
14 mai 2010

Re, bon j'ai lu la doc de mcrypt sur php.net, et étant débutant en programmation et ayant un qi de moineau j'ai rien compris.



Si quelquun a le script de cryptage / décryptage, sans caracteres
spéciaux ,déja tout fais, ca m'arrangerait ! car programmer c'est pas
mon métier ! lol



Merci à cette ame charitabel
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og blesud

Je ne connais pas vos volontés mais vous pouvez user ( au contraire de bin2hex ) des fonctions Php URLEncode et URLDecode soit par exemple le code que je vous ait déjà donné ( avec les fonctions dont je vous parle ) :

<?php


$td = mcrypt_module_open(MCRYPT_TripleDES, '', MCRYPT_MODE_CBC, '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$ks = mcrypt_enc_get_key_size($td);
$key = substr(md5('ma clef très secrète'), 0, $ks);
$chaine='Ma chaine à traiter ...';


mcrypt_generic_init($td, $key, $iv);
$encrypted = mcrypt_generic($td, $chaine);
mcrypt_generic_deinit($td);


mcrypt_generic_init($td, $key, $iv);
$decrypted = mdecrypt_generic($td, $encrypted);
mcrypt_generic_deinit($td);


mcrypt_module_close($td);


echo "Encrypt : ".URLEncode(trim($encrypted))."
\n";
echo "Decrypt : ".URLDecode(trim($decrypted))."
\n";


?>

Cependant veuillez noter que pour obtenir ce résultat ( cf : votre post ) : 5456DFdsfds4ffdsq il vous faudra user de la fonction Php bin2hex. Mais la solution ici précente peut vous convenir puisqu'elle est prévu pour les url(s) qui n'accepte pas par défault "vos codes spéciaux" ... Maintenant libre à vous de l'adapter ou de rechercher le contraire de bin2hex ( cf : http://fr.php.net vous devriez trouver ... ) et ce même pour quelqu'un dont programmer n'est pas le metier ... ;-)

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón

HARDWARE : Partie de l'ordinateur qui reçoit les coups quand se plante le software ...