Position actuelle: Accueil> Derniers articles> Comment tester l'heure requise pour le cryptage crypte ()

Comment tester l'heure requise pour le cryptage crypte ()

M66 2025-05-27

Dans PHP, la fonction crypte () est souvent utilisée pour crypter les mots de passe. Il prend en charge une variété d'algorithmes, tels que Standard DES, MD5, SHA-256, SHA-512, etc. Dans les applications liées à la sécurité, il est très important de comprendre le temps d'exécution de la fonction crypt () , en particulier lors de l'évaluation des performances du système ou de l'exécution du contrôle des coûts de hachage de mot de passe.

Cet article présentera comment mesurer le temps de chiffrement de la fonction crypt () via PHP et donnera des exemples pratiques.

Mesurer le temps à l'aide de MicroTime ()

En PHP, vous pouvez utiliser la fonction microme (vrai) pour obtenir le horodatage UNIX actuel (y compris les microsecondes), et mesurer le temps d'exécution d'un certain code en calculant la différence entre les deux horodatages avant et après.

Voici un exemple de mesure du chiffrement long de la fonction crypte () :

 <?php
$password = 'TestPassword123';
$salt = '$6$rounds=5000$usesomesillystringforsalt$'; // SHA-512 Exemple

$start = microtime(true);
$hash = crypt($password, $salt);
$end = microtime(true);

$duration = $end - $start;

echo "Résultats du chiffrement: $hash\n";
echo "prend du temps: " . number_format($duration, 6) . " Deuxième\n";
?>

Dans l'exemple ci-dessus, nous avons utilisé l'algorithme SHA-512 et réglé les itérations de chiffrement sur 5000 via le paramètre Rounds . Vous pouvez observer les changements longs sous différentes forces de cryptage en ajustant la valeur des rondes .

Effectuer plusieurs tests avec des boucles pour obtenir la moyenne

Pour évaluer plus précisément le temps de chiffrement, Crypt () peut être effectué plusieurs fois et le temps moyen est calculé:

 <?php
$password = 'TestPassword123';
$salt = '$6$rounds=5000$usesomesillystringforsalt$';
$iterations = 100;
$totalTime = 0;

for ($i = 0; $i < $iterations; $i++) {
    $start = microtime(true);
    crypt($password, $salt);
    $end = microtime(true);
    $totalTime += ($end - $start);
}

$averageTime = $totalTime / $iterations;

echo "平均加密prend du temps($iterations De premier ordre): " . number_format($averageTime, 6) . " Deuxième\n";
?>

De cette façon, vous pouvez éliminer les erreurs causées par des fluctuations occasionnelles du système et évaluer plus précisément le temps de chiffrement.

Démonstration et débogage en ligne

Vous pouvez déployer ces scripts de test sur votre propre serveur ou utiliser un environnement d'exécution PHP en ligne. Si vous souhaitez déployer sur un site Web de test, vous pouvez télécharger le script sur un chemin tel que https://www.m66.net/test/crypt_time.php pour s'assurer que le serveur permet d'exécuter les scripts PHP dans l'environnement CLI ou Web.

résumé

Crypt () est un puissant outil de chiffrement fourni par PHP, mais il faut du temps pour s'appuyer sur l'algorithme sélectionné et le nombre d'itérations. Grâce à la mesure du temps au niveau microseconde, nous pouvons raisonnablement évaluer les performances de son processus de chiffrement. Ceci est crucial pour la sécurité du système et le réglage des performances. Dans les applications pratiques, veuillez raisonnablement sélectionner les paramètres de chiffrement en fonction des capacités du système et des besoins en matière de sécurité pour atteindre un équilibre entre la sécurité et les performances.