A voir également:
- Optimisation code php
- Optimisation pc - Accueil - Utilitaires
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
2 réponses
jordane45
Messages postés
38424
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 février 2025
4 734
31 juil. 2017 à 15:50
31 juil. 2017 à 15:50
Bonjour,
Tout dépend ce que contient ta fonction decrypter
Tout dépend ce que contient ta fonction decrypter
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
Modifié le 31 juil. 2017 à 16:32
Modifié le 31 juil. 2017 à 16:32
Bonjour,
Tu peux probablement l'optimiser en cryptant le mail $text, et le mettant dans la clause WHERE du SQL, avec un COUNT(1) :
Pourquoi ça optimise ? Tu ne fais qu'une seule opération cryptographique au lieu de N.
Pourquoi j'ai dit « probablement » ? Parce que je ne sais pas combien coûte la fonction crypter par rapport à la fonction decrypter. Si la première coûte 10 fois la seconde, et que tu n'as que 5 lignes en base, alors mon code n'optimise rien.
Par contre, pour un grand nombre de lignes en base, c'est clairement plus efficace.
Xavier
Tu peux probablement l'optimiser en cryptant le mail $text, et le mettant dans la clause WHERE du SQL, avec un COUNT(1) :
<?php $timestamp_debut = microtime(true); require 'groups/functions.php'; $bdd = connexion_bdd(); $text = crypter('exemple@email.com'); $reqmail = $bdd->query("SELECT COUNT(1) as nb FROM espace_membre_membres WHERE mail='$text'"); $res = $reqmail->fetch(); echo $res['nb'] . '<br />'; $timestamp_fin = microtime(true); $difference_ms = $timestamp_fin - $timestamp_debut; echo 'Exécution du script : ' . $difference_ms . ' secondes.'; ?>
Pourquoi ça optimise ? Tu ne fais qu'une seule opération cryptographique au lieu de N.
Pourquoi j'ai dit « probablement » ? Parce que je ne sais pas combien coûte la fonction crypter par rapport à la fonction decrypter. Si la première coûte 10 fois la seconde, et que tu n'as que 5 lignes en base, alors mon code n'optimise rien.
Par contre, pour un grand nombre de lignes en base, c'est clairement plus efficace.
Xavier
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
31 juil. 2017 à 16:32
31 juil. 2017 à 16:32
(Juste au passage, si $text vient en réalité d'une donnée saisie par un utilisateur, utilise une requête préparée pour éviter les injections SQL)
Utilisateur anonyme
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
Modifié le 31 juil. 2017 à 17:49
Modifié le 31 juil. 2017 à 17:49
oui t'inquiète pas je sais ;)
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
31 juil. 2017 à 17:53
31 juil. 2017 à 17:53
Si tu chiffres deux fois la même chaîne tu n'as pas deux fois le même résultat ?
Mais tu peux les déchiffrer quand même ? C'est louche ton truc ^^'
Mais tu peux les déchiffrer quand même ? C'est louche ton truc ^^'
oui, si je chiffre deux fois la meme chaine, je n'aurais pas le même résultat, le déchiffrage marche avec la clé ... https://www.php.net/manual/fr/function.mcrypt-encrypt.php
31 juil. 2017 à 15:56