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

Zend_Db PHP Discussion :

Grain de sel dans l'insertion [ZF 1.10]


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut Grain de sel dans l'insertion
    Bonjour,

    dans un formulaire Zend, j'essaie d'insérer un grain de sel dans mon mot de passe puis de hasher le tout en sha1. Tout se passe bien, le mdp hashé ainsi que le sel arrivent en base sauf que quand j'effectue ensuite le test manuellement de vérification (concaténation sel+mdp+sel) le tout en sha1 je n'obtient pas la même clé...

    Mon code :

    Code php : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    public function indexAction() {
     
            $form = new My_Form_Inscription();
     
            // --- Création du nouveau compte si les données sont correctement saisies
            if ($this->_request->isPost() && $form->isValid($_POST)) {
     
                $sel = $this->getSel();
                $password = sha1($sel.$form->getValue('mdp').$sel);
     
                $users = new My_Model_Users();
                $data = array(
                    'username' => $form->getValue('username'),
                    'password' => $password,
                    'sel' => $sel,
                    'email' => $form->getValue('email')
                );
     
                if ($users->insert($data))
                    $this->_forward('done');
                else
                    $this->_forward('fail');
            }
     
            $this->view->form = $form;
        }
     
    private function getSel() {
     
            $ascii = range('!', '/');
            $sel = '';
     
            for ($i = 0; $i < 10; $i++)
                $sel .= $ascii[mt_rand(0, 14)];
     
            return $sel;
        }

    Ca doit être gros comme une maison..mais je vois pas !

    Ex:

    création d'un compte avec mdp = 'motdepasse'


    PS: j'ai tenté de hasher dans mon tableau $data ou à l'extérieur, c'est pareil. Idem avec l'algo md5, j'ai testé pour voir.

    Qui voit mon erreur ? Je sature...


    Merci

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bon et bien ca marche

    J'ai retesté en marquant directement le sel pour effectuer le test sans faire de copier coller et c'est bon, probablement des caractères invisibles ou autre récupérés de phpMyAdmin...

    Voilà comment on peut perdre 1 heure

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. une requête imbriquée est-elle autorisée dans un INSERT ???
    Par Ekimasu dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/08/2005, 09h21
  2. Réponses: 6
    Dernier message: 02/06/2005, 12h44
  3. Comment gérez-vous les NULL dans 1 insert ?
    Par qi130 dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/02/2005, 22h01
  4. Champ text dans table inserted ?
    Par devdev dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/06/2004, 17h00
  5. impossible d'utiliser ma fonction dans un insert
    Par caramel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/04/2003, 15h04

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