Code de vérification d'identification Python d'entrée de gamme

迷茫
Libérer: 2017-03-25 17:07:04
original
1632 Les gens l'ont consulté

Informations préliminaires : Le contenu mentionné dans cet article a été réalisé par le blogueur pendant les dernières vacances d'été. Je ne me suis jamais suffisamment installé pour écrire mes pensées sur papier. Heureusement, j'ai plus de temps libre pendant ces vacances, alors j'ai réfléchi. Je pourrais, je peux écrire autant que je veux, alors cet article est ici.

Code de vérification ? Puis-je le cracker aussi ?

Je ne dirai pas grand-chose sur l'introduction des codes de vérification. Divers codes de vérification apparaissent de temps en temps dans la vie des gens. Le blogueur est un étudiant de la Northeastern University, et celui avec qui il a le plus de contacts quotidiens. est le département des affaires académiques. J'ai obtenu le code de vérification du système.
Les étudiants se sont plaints du code de vérification. Il est trop difficile à saisir. Non seulement il est sensible à la casse, mais parfois vous l'avez saisi correctement, mais un message d'erreur apparaît à ce moment, 禁止你的左键复制 cela devrait peut-être être le cas. surgir.
(Cependant, le Bureau des affaires académiques a modifié le contenu du code de vérification au cours de l'année universitaire 2016-2017 pour le rendre plus pratique à utiliser pour les humains.)

On peut voir que le code de vérification de le Bureau des Affaires Académiques est très régulier, et la taille de chaque lettre et chiffre La position, la forme, etc. sont toutes fixes, ce qui convient aux débutants sans fondement pour identifier les codes de vérification.

Méthode d'identification

La connexion simulée comporte des étapes compliquées. Ici, quelles que soient les autres opérations, nous sommes uniquement responsables du renvoi d'une chaîne de réponse basée sur une image de code de vérification d'entrée.

Nous savons que le code de vérification rendra l'image colorée afin de créer des interférences, et nous devons d'abord supprimer ces interférences, cette étape nécessite une expérimentation continue, en améliorant la couleur de l'image, en augmentant le contraste, etc. . peut aider.

Après diverses manipulations d'images, j'ai finalement trouvé une solution plus parfaite pour supprimer les interférences. On peut voir qu’après avoir supprimé les interférences, dans des circonstances optimales, nous obtiendrons une image de caractères en noir et blanc très pure. Il y a quatre caractères dans une image. Il est impossible de reconnaître les quatre caractères à la fois. L'image doit être recadrée pour que chaque petite image ne comporte qu'un seul caractère, puis chaque image est reconnue séparément.

L'étape suivante consiste à reconnaître le texte. Nous convertissons d'abord la petite image obtenue en une matrice représentée par 01, chaque matrice représente un caractère.
Par exemple, la matrice du chiffre six

num_6=[
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,1,1,0,0,0,0,0,0,
0,0,0,0,1,1,1,0,0,0,0,0,0,
0,0,0,1,1,1,0,0,0,0,0,0,0,
0,0,0,1,1,0,0,0,0,0,0,0,0,
0,0,1,1,0,0,0,0,0,0,0,0,0,
0,0,1,1,0,0,0,0,0,0,0,0,0,
0,1,1,1,1,1,1,1,0,0,0,0,0,
0,1,1,1,1,1,1,1,1,0,0,0,0,
0,1,1,0,0,0,0,1,1,1,0,0,0,
0,1,1,0,0,0,0,0,1,1,0,0,0,
0,1,1,0,0,0,0,0,1,1,0,0,0,
0,1,1,1,0,0,0,1,1,1,0,0,0,
0,0,1,1,1,1,1,1,1,0,0,0,0,
0,0,0,1,1,1,1,1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,
]
Copier après la connexion

En la regardant de loin, vous pouvez encore la distinguer si vous plissez les yeux.
Parce que le code de vérification du Bureau des affaires académiques de l'Université de Dongda est très régulier et que la position de chaque numéro est fixe, il n'est donc pas nécessaire d'impliquer un algorithme d'apprentissage automatique. Il s'agit simplement d'une simple comparaison matricielle. la matrice avec la plus grande similarité parmi toutes les matrices implémentées. Quoi qu'il en soit, il existe différentes méthodes de comparaison, à condition que les données soient simples et puissent être correctement identifiées.

À ce stade, notre travail d'identification du code de vérification est terminé.

Résumé

La reconnaissance du code de vérification effectuée cette fois utilise principalement le PIL de python pour la manipulation d'images. Pour le code complet de simulation de connexion et de remplissage automatique du code de vérification, veuillez consulter

<.>Github de xfangfang

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!