J'ai un fichier appelé secure.txt em> dans c: \ temp em>. Je souhaite exécuter une commande perl de la ligne de commande pour imprimer le hachage SHA1 de Secure.txt em>. J'utilise ActiveperL 5.8.2. Je n'ai pas utilisé Perl avant, mais c'est l'option la plus pratique disponible en ce moment. P>
4 Réponses :
C:\> mysha1sum.pl mysha1sum.pl mysha1sum.pl 8f3a7288f1697b172820ef6be0a296560bc13bae mysha1sum.pl 8f3a7288f1697b172820ef6be0a296560bc13bae mysha1sum.pl
NIT: Parce que Secure.txt est le seul fichier, son contenu devient l'argument s i> à SHA1_HEX (chaque ligne d'un argument séparé). Comme cela se produit, SHA1_HEX rejoint ses arguments de retour et donne le SHA1 de l'ensemble du dossier, mais l'utilisation de <> d'autres endroits ne fonctionnera pas nécessairement de cette façon.
Veuillez utiliser les fichiers lexicaux locaux - Ouvrir mon $ in_data, '<', 'Secure.txt' ou mourir ... code>
@Ether - c'est une question de préférence personnelle.
Il y a de bonnes raisons d'utiliser des poignées lexicales. Voir
Utilisez de bonnes habitudes même lorsque vous n'avez pas besoin pour qu'ils restent des habitudes lorsque vous avez besoin. :)
Il y a un moyen de le faire sans lire le contenu du fichier vous-même.
A partir de cette écriture, Strawberry perl et ActiveState Perl Inclure le Si vous vraiment, vraiment veux forte> pour écrire votre propre wrapper pour Digest: : Sha, les autres réponses ici sont excellentes. P> Si vous voulez simplement "utiliser Perl" pour obtenir le hachage SHA1 pour un fichier, dans le sens où vous em> avez em> Activeze Perl et il est livré avec le L'algorithme de hachage par défaut est SHA1; Ajouter Le format de sortie par défaut est le hachage, deux espaces, puis le nom de fichier. Ceci est le même format que Si vous êtes vraiment, Vraiment em> Vous ne voulez pas voir le nom de fichier, juste le hachage SHA1, l'un ou l'autre de ceux-ci coupera la partie nom de fichier: p> Utilisation de PowerShell: P> shasum code>
commande avec Digest :: SHA a>. Si vous avez choisi les options par défaut lors de la configuration, cela se trouvera déjà dans votre %%% code>.
Shasum code> utilitaire de ligne de commande, c'est aussi simple que: p>
-A1 code> Si vous voulez être explicite (pas une mauvaise idée). p>
sha1sum code>
et utilitaires similaires, communément trouvé sur les systèmes UNIX / Linux. Si redirigé dans un fichier, ce nom de fichier peut être donné à Shasum -C code> ultérieurement afin de vérifier l'intégrité quels que soient les fichiers que vous avez déposés précédemment. P>
for /f %i in ('shasum secure.txt') do echo %i
Bonjour du futur! Les deux actifs et la fraise Perl incluent la Digest :: Sha Href="https://metacpan.org/pod/distribution/digest-sha /hasum" Rel="nofollow Noreferrer">
Shasum code> Commande < / a>, et il devrait déjà être votre
% de path% code> si vous avez choisi les options par défaut lors de l'installation. Si vous êtes vraiment, vraiment i> veux écrire votre propre wrapper pour Digest :: Sha, puis les autres réponses ici sont formidables. Mais si vous préférez utiliser un outil de ligne de commande que se produit i> à fournir par un module Perl "standard", voir ma réponse ci-dessous.