Perl pack
Les ‘expressions régulières’ sont un outil pour l’extraction et le traitement des informations dans un fichier texte. Ils sont mis en œuvre dans les commandes Unix comme sed, awk, dans l’éditeur vi, et, bien sûr, sont largement utilisés par le langage Perl (à noter que d’autres langues de gérer des expressions régulières: par exemple la bibliothèque C a une fonction dédiée).
Une expression régulière définit un «masque» (ou motif), qui sera comparée à un ensemble de cordes: le masque établit les critères d’adhésion d’une chaîne à un ensemble. Ainsi, par exemple, nous coder l’ensemble {} caractères alphabétiques minuscules avec l’expression régulière: [az] (ce qui équivaut à écrire: [abcdefghijklmnopqrstuvwxyz])
Caractères spéciaux
En utilisant une expression régulière appliquée à une variable. Par défaut, c’est la variable $ _. Pour traiter de toute autre variable, nous utilisons l’opérateur = ~ et $ variable = ~ / [az]; compare le contenu de $ pattern [az] variable, à savoir les lettres minuscules. Comme il s’agit d’une comparaison, la valeur de retour sera vrai si la variable $ comprend au moins un caractère alphabétique en minuscule, FALSE sinon. C’est la fonction de Recherche de remplacement.Des opérations courantes en Perl, les opérations de substitution de tout ou partie d’une chaîne de bénéfices potentiels des expressions régulières. Ainsi, $ chaine = ~ s / a / b /; signifie: remplacer $ string, b le premier caractère ‘a’ à `’. Une expression régulière est mise en jeu ici: le note REGEXP. Alors
Métacaractères
Cette liste n’est pas exhaustive, mais fixe les génériques les plus courants. On voit immédiatement que, en combinant plusieurs de ces méta-caractères, de nombreuses possibilités de manipulation d’une chaîne devient possible. Quelques exemples sont donnés à la fin de article.Note que tous les méta-caractères peuvent être considérés comme des caractères traditionnels dans une expression régulière: il suffit de les faire précéder d’un. Ainsi, le caractère traditionnel des moyens ‘. Le caractère ‘lui-même est écrit en particulier . Caractères spéciaux spécifiques à des catégories méta-caractères, caractères spéciaux utilisés pour se référer à des éléments de’ invisible ‘dans une chaîne, comme un onglet, un retour à la ligne, ou à la fin d’une ligne, ou spécifiques types de caractères (lettres, chiffres, etc) .. Ces caractères spéciaux sont codés par un suivi d’une lettre de la clé.:
Métacaractères
Cette liste n’est pas exhaustive, mais fixe les génériques les plus courants.On voit immédiatement que, en combinant plusieurs de ces méta-caractères, de nombreuses possibilités de manipulation d’une chaîne devient possible. Quelques exemples sont donnés à la fin de article.Note que tous les méta-caractères peuvent être considérés comme des caractères traditionnels dans une expression régulière: il suffit de les faire précéder d’un. Ainsi, le caractère traditionnel des moyens ‘. Le caractère ‘lui-même est écrit en particulier . Caractères spéciaux spécifiques à des catégories méta-caractères, caractères spéciaux utilisés pour se référer à des éléments de’ invisible ‘dans une chaîne, comme un onglet, un retour à la ligne, ou à la fin d’une ligne, ou spécifiques types de caractères (lettres, chiffres, etc) .. Ces caractères spéciaux sont codés par un suivi d’une lettre de la clé.:
Caractères spéciaux
En utilisant une expression régulière appliquée à une variable. Par défaut, c’est la variable $ _. Pour traiter de toute autre variable, nous utilisons l’opérateur = ~ et $ variable = ~ / [az] compare le contenu de $ pattern [az] variable, à savoir la letters.As minuscules il s’agit d’une comparaison, la valeur de retour sera TRUE si la variable $ comprend au moins un caractère alphabétique minuscule, FALSE sinon. C’est la fonction de Recherche de remplacement.Des opérations courantes en Perl, les opérations de substitution de tout ou partie d’une chaîne de bénéfices potentiels des expressions régulières. Ainsi, $ chaine = ~ s / a / b /; signifie: remplacer $ string, b le premier caractère ‘a’ à `’. Une expression régulière est mise en jeu ici: le note REGEXP. Alors
Caractères spéciaux
En utilisant une expression régulière appliquée à une variable. Par défaut, c’est la variable $ _. Pour traiter de toute autre variable, nous utilisons l’opérateur = ~ et $ variable = ~ / [az] compare le contenu de $ pattern [az] variable, à savoir les lettres minuscules. Comme il s’agit d’une comparaison, la valeur de retour sera vrai si la variable $ comprend au moins un caractère alphabétique en minuscule, otherwise.It FALSE est la fonction de recherche.Opérations alternative couramment utilisé en Perl, les opérations de substitution de tout ou partie d’un chaîne des avantages potentiels des expressions régulières. Ainsi, $ chaine = ~ s / a / b /; signifie: remplacer $ string, b le premier caractère ‘a’ à `’. Une expression régulière est mise en jeu ici: le note REGEXP. Alors
Exemples
Suite à notre article sur la fonction de hachage MD5, cette présentation du cryptosystème RSA permettra de clarifier les différentes étapes du processus de cryptage et de clarifier certaines termes.Notons que les algorithmes utilisés pour chiffrer et déchiffrer un message dépend d’une clé (publique ou privée): plus précisément, le «système de chiffrement RSA est caractérisé par une fonction de chiffrement à clé publique (à publier sur des réseaux non sécurisés), et une fonction de déchiffrement de la clé privée (secrète). cryptosystème RSA se distingue donc de soi-disant «keys.Although symétrique des clés publiques et privées sont mathématiquement liées, il est impossible d’obtenir un de l’autre. Un message électronique crypté avec la clé publique de l’expéditeur sera déchiffré en utilisant la clé privée de le destinataire, qui sera le seul qui peut le faire. Ajoutant que le niveau de sécurité atteint dépend bien sûr de la taille (en bits) clés.Pour identifier l’auteur du message, en utilisant la signature numérique, à savoir l’algorithme de chiffrement par mise en œuvre de la clé privée du signataire, le message en clair ‘condensés’ par une fonction de hachage. C’est là une fonction comme MD5. Ainsi, il est certain que personne ne prétend autre personne à l’expéditeur et le message n’a pas été modifié (le produit de la fonction de hachage serait différent).RSA est utilisé pour les signatures numériques. A titre d’exemple d’un outil pour crypter / décrypter les messages e-mail et des fichiers, nous allons nous concentrer sur la mise en œuvre du système de cryptage RSA Perl via le module Crypt:: RC4, flexible dans la déclaration suivante use.The nous permet d’utiliser le module dans nos programmes utilisation Crypt:: RC4, et nous avons deux fonctions, celle qui exige une clé publique (chiffrement), l’autre une clé privée (décryptage): $ encrypted = RC4 ($ publickey, $ message); $ et décrypté = RC4 ( $ privatekey, $ message); La fonction première sera utilisée dans un programme Perl sur le serveur (la clé publique est publiable), la seconde fonction incluse dans un programme Perl localement, récupérer un fichier enregistré dans le contenu crypté, et la reconstruction des message de lui et l’privée.Crypt clés: utilise RC4, comme son nom l’indique, l’algorithme RC4, qui supporte les clés jusqu’à 2048 bits. Encore une fois, c’est la fonction de chiffrement (ou déchiffrement) et non pas une fonction de hachage (à cet égard, une mise en œuvre de Perl MD5 est proposé JDNet Développeurs). Soit dit en passant, il est possible de mett
re en œuvre RC4 en 3 lignes de Perl (version 4 ou 5), en tapant: # / usr / bin / perl -0777 @ k = unpack (‘C *’, pack (‘H *’, décalage) ), pour (t = @ @ s = 0 ..255) {$ y = ($ k [$ _% k $] s [$ x = $ _] $ y)% 256;