IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

MCrypt: crypter en PHP et décrypter en ligne de commande


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de myz-rix
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 143
    Points : 114
    Points
    114
    Par défaut MCrypt: crypter en PHP et décrypter en ligne de commande
    bonjour,

    j'utilise Mcrypt pour crypter mes fichiers et j'ai besoin aujourd'hui de générer un fichier crypté via le PHP et de décrypter en ligne de commande sauf que biensur tous mes essais ne fonctionnent pas.

    j'ai fait des copier/coller d'exemple de cryptage en php sur le web, je crypte bien mon document mais quand mon mot passe ne marche pas en ligne de commande.

    Auriez vous un exemple ou un site à me conseiller ?

    j'ai essayé ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        $key = hash('sha256', 'mot2pass', true);
        $input = "phrase a crypter";
     
        $td = mcrypt_module_open('rijndael-128', '', 'cbc', '');
        $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_URANDOM);
        mcrypt_generic_init($td, $key, $iv);
        $encrypted_data = mcrypt_generic($td, $input);
    	 echo $encrypted_data;
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
    et ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	 $data = "phrase a crypter";
        $cipher  = MCRYPT_RIJNDAEL_128;          // Algorithme utilisé pour le cryptage des blocs
        $key     = 'mot2pass'; 							   // Clé de cryptage
        $mode    = 'cbc';                        // Mode opératoire (traitement des blocs)
     
            $keyHash = md5($key);
            $key = substr($keyHash, 0, mcrypt_get_key_size($cipher, $mode) );
            $iv  = substr($keyHash, 0, mcrypt_get_block_size($cipher, $mode) );
     
            $data = mcrypt_encrypt($cipher, $key, $data, $mode, $iv);
            echo base64_encode($data);

  2. #2
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Salut,

    personnellement, j'utilise ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function CryptValue($Value) {
    			$letter = -1;
    			$new_str = '';
    			$strlen = strlen($Value);
     
    			for ($i = 0; $i < $strlen; $i++) {
    				$letter++;
    				if ($letter > 31) {
    					$letter = 0;
    				}
    				$neword = ord($Value{$i}) + ord(self::$_Salt{$letter});
    				if ($neword > 255) {
    					$neword -= 256;
    				}
    				$new_str .= chr($neword);
    			}
    			return base64_encode($new_str);
    		}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function UncryptValue($Value) {
    			$letter = -1;
    			$new_str = '';
    			$Value = base64_decode($Value);
    			$strlen = strlen($Value);
    			for ($i = 0; $i < $strlen; $i++) {
    				$letter++;
    				if ($letter > 31) {
    					$letter = 0;
    				}
    				$neword = ord($Value{$i}) - ord(self::$_Salt{$letter});
    				if ($neword < 1) {
    					$neword += 256;
    				}
    				$new_str .= chr($neword);
    			}
    			return $new_str;
    		}
    Penses à modifier self::$_Salt qui pour moi est une constante de class.

  3. #3
    Membre régulier Avatar de myz-rix
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 143
    Points : 114
    Points
    114
    Par défaut
    je vois pas de mcrypt dans ton code , es tu sur que je pourrai le décrypter en ligne de commande "mcrypt -d" ?

  4. #4
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Normalement oui, ça ne devrait pas poser de problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php -r "require 'CryptFunctions.php'; CryptValue('ma_valeur');"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php -r "require 'CryptFunctions.php'; UncryptValue('ma_valeur');"

  5. #5
    Membre régulier Avatar de myz-rix
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 143
    Points : 114
    Points
    114
    Par défaut
    pas bete je garde l'idée en tête même si elle colle pas tout à fait avec ce que je voulais faire

    car je me suis peut-etre mal exprimé, la machine qui va decrypter n'aura pas forcement php d'installé mais mcrypt en ligne de commande. Ella va télécharger le fichier que je vais générer sur le serveur web en PHP pour le décrypter via une commande "mcrypt -d"

  6. #6
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Ah, du coup oui, si tu n'as pas php, ça va être dur d'utiliser ma méthode.

    Mais vu que tu es dans la section php du forum, j'ai pensé que tu n'avais

  7. #7
    Membre régulier Avatar de myz-rix
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 143
    Points : 114
    Points
    114
    Par défaut
    oui, j'ai php uniquement sur le serveur qui va encrypter pas sur la machine qui va decrypter

  8. #8
    Membre régulier Avatar de myz-rix
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 143
    Points : 114
    Points
    114
    Par défaut
    personne ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/01/2013, 14h01
  2. trouver le chemin du php.ini sur la ligne de command
    Par J4e8a16n dans le forum Langage
    Réponses: 3
    Dernier message: 28/01/2010, 17h40
  3. [MySQL] problème php et sql en ligne de commande
    Par PAYASS59 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/01/2010, 14h50
  4. [MySQL] PHP avec mysql en ligne de commande
    Par caro.sim dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/04/2009, 14h55
  5. Réponses: 6
    Dernier message: 12/05/2008, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo