Julienl's Blog

un blog de plus ou pas

Aller au contenu | Aller au menu | Aller à la recherche

dimanche, octobre 11 2009

SHA1 en Perl

Utiliser SHA1 en Perl avec module Digest::SHA1 :

#!/usr/bin/perl

use sctrict;
use warnings;
use Digest::SHA1;

sub createhash {

	my @args = @_;

	my $sha1 = Digest::SHA1->new;
	$sha1->add($args0);
	my $digest = $sha1->digest;;

return $digest;
}
print "Chaine de caractere\n";
my $val = <STDIN>;
chomp($val);

&createhash($val);
   
print "Votre Chaine en SHA1 est : $digest\n";

Module disponible sur CPAN => DIgest::SHA1

vendredi, septembre 18 2009

Créer hash MD5 Perl

Pour créer un ou des hash MD5 en Perl, il faut simplement le module Digest::MD5.

Voici le bout de code:

#!/usr/bin/perl

use strict;
use warnings;
use Digest::MD5;

sub createhash {

	my @args = @_;

	my $md5 = Digest::MD5->new;
	       $md5->add($args0);
	my $digest = $md5->hexdigest;

return $digest;
}
print "Entrer votre chaine de caractere a hasher\n";
chomp($val = <STDIN>);

&createhash($val);
   
print "Votre hash MD5 est : $digest\n";

Rappel: comparateur d'hash dans ce billet => link <=

mardi, septembre 8 2009

Twitter en Perl

Si vous n'avez pas le temps de twitter et que vous êtes sur un dédié comme moi de temps à autre, ou simplement parce que vous aimez faire du Perl pour tout et n'importe quoi, c'est fait pour vous.

il vous suffit d'utiliser le module Net::Twitter dispo sur CPAN.

voici ce que ça donne pour moi.

#!/usr/bin/perl 

use strict;
use warnings;
require MIME::Base64;
import MIME::Base64 qw(decode_base64);
use Net::Twitter;

my $user = "user";
my $password = decode_base64('mon pass en b64');
my $nt = Net::Twitter->new(
      traits   => qw/API::REST/,
     username => $user,
     password => $password
  );

print "My update is : ";
 
my $update = <STDIN>; 
my $lg = length($update);

       if($lg>140){
               print "Longueur supérieur à 140 caractéres impossible à twitter\n";
       }else{
               my $result = $nt->update($update);
       }

lundi, juin 8 2009

Ressources PERL => CPAN

SI vous développez en Perl il vous faut impérativement connaitre CPAN (Comprehensive Perl archive network) qui est comme son nom l'indique un regroupement de ressources PERL son petit moteur de recherche est trés utile, avant de vouloir coder un module allez d'abord y faire un tour. Ce serait bête de refaire une chose déjà prête à l'emploie.

mercredi, mai 27 2009

Comparateur de hash MD5 par dico

Retrouvé au fond d'un répertoire voici un script Perl permettant la comparaison des hash MD5 par dico.

#/usr/bin/perl
 
use strict;
use warnings;
use Digest::MD5;
 
my $files;
my @lines;
my $lg;
my $hashmd5;
my $md5;
my $digest;
my $lgmd5;
my $mot;
 
#fonctions
 
sub createhash {
        
        my (@args) = @_;
                
        $md5 = Digest::MD5->new;
        $md5->add($args0);
        $digest = $md5->hexdigest;
        
        return $digest;
}
 
print "chemin du dico\n";
$files = <STDIN>;
chomp($files);
 
#verification si le fichier existe
 
if( -e "$files"){
                print "Ce repertoire  existe\n";
                }
 
#lecture du dico
 
open(DICO,$files);
@lines=<DICO>;
close(DICO);
chomp(@lines);
 
#Nombres de mots dans le fichier
$lg = (@lines);
print "Ce fichier contient $lg mots\n";
 
#Entrer du hash
print "Entrez le hash md5 à trouver\n";
$hashmd5=<STDIN>;
chomp($hashmd5);
$lgmd5=length($hashmd5);
 
#Verification du hash
 
if($lgmd5 != 32)
        {
                print "Ce hash => $hashmd5 <=  n'est pas correcte il doit contenir 32 caracteres\n";
        }else{
                print "Ce hash => $hashmd5 <= est correcte\n .................. \n";
            
#Creation des hash et comparaison avec celui entré 
foreach $mot (@lines){
 
                &createhash($mot);
                 
                 if($digest eq $hashmd5){
                                 
                                 print "\nOrigine du hash trouvé ===>$mot<===\n\n";
                                 exit 0;
                 }else{
                        print(".");
                        }                }
 
}