** Ce que vous voulez faire ** En regardant mon iPhone, je me demandais combien de temps il faudrait pour casser le verrouillage du mot de passe à 4 chiffres. Un calcul rapide montre qu'il devrait y avoir 10000 combinaisons de 10 à la 4ème puissance de "0000" à "9999". J'ai essayé de mesurer combien de secondes il faudrait pour détecter le mot de passe en arrondissant cela à l'aide de Python.
"8400 tr / min. 420 chevaux Au moment où vous avez fini de lire cette phrase Accélérez à 100 km / h. " Il s'agit d'une phrase promotionnelle pour la BMW M3 Coupé qui a été publiée dans un magazine automobile il y a environ 10 ans.
Est-ce plus rapide ou plus lent que ça? Rivaliser avec la BMW M3 Coupé!
Contexte ・ Je suis un débutant en Python. ・ J'ai appris les bases, mais je ne sais pas comment l'appliquer, je ne l'utilise pas au travail et je suis un peu moins motivée.
** En pensant ** ・ Le code PIN à 4 chiffres est supposé être une combinaison de 4 chiffres de 0 à 9 qui sont souvent utilisés sur les mots de passe bancaires et les écrans de verrouillage des smartphones. -En supposant que vous ne connaissez pas le code PIN, il est généré aléatoirement à l'aide d'une fonction aléatoire. -Essayez le round robin de "0000" à "9999", et s'il y a une correspondance, le message "iPhone déverrouillé" sera affiché.
code
pin_code_breaker.py
from random import randint
import time
pin_n = randint(0, 9999)
def iphone_unlock(pin_n):
for i in range(0, 9999):
print(format(i, '04'))
if i == pin_n:
print(f"PIN is {pin_n}, iPhone unlocked.")
break
else:
print('Process finished.')
start = time.time()
iphone_unlock(pin_n)
elapsed_time = time.time() - start
print(f"elapsed time: {elapsed_time}")
** Considération ** -Depuis que la correspondance est essayée à tour de rôle à partir de 0000, plus le code PIN généré est jeune (plus proche de 0000), plus le temps de traitement est court et plus il est grand (plus proche de 9999), plus le temps de traitement est long. ・ Cependant, le processus est terminé dans les 3 secondes au maximum. ・ Il s'est avéré que le mot de passe à 4 chiffres lui-même est sans défense.
Recommended Posts