Some parts of this page were machine translated.
Powered by Yandex.Translate
http://translate.yandex.com/
Tarefa. Em Perl código não é uma variável. Preciso calcular o hash SHA1 do valor dessa variável.
Tarefa. Em Perl código não é uma variável. Preciso calcular o hash SHA1 do valor dessa variável.
Solução — o uso de Perl para a biblioteca Digest::SHA
.
A biblioteca Digest::SHA
vai junto com o Perl, o modo que se você tem um Perl, esta biblioteca está prontamente disponível, instalar nada.
Para obter o hash SHA1 pode utilizar esse código:
#!/usr/bin/perl
use Digest::SHA qw(sha1_hex);
my $var = 123;
my $sha1_hash = sha1_hex($var);
print $sha1_hash;
Este programa exibirá uma mensagem de linha de '40bd001563085fc35165329ea1ff5c5ecbdbbeef'
.
use Digest::SHA qw(sha1_hex);
— unimos Perl biblioteca e dizemos que a partir desta biblioteca, precisamos de função sha1_hex
my $var = 123;
— criamos uma variável e colocar lá o valor 123
my $sha1_hash = sha1_hex($var);
— usando a função sha1_hex
calculamos o hash SHA1 do valor de uma variável de $var
e colocou o resultado em uma variável $sha1_hash
print $sha1_hash;
— tiraram o valor da variável $sha1_hash
na tela
Quando o ligar a uma biblioteca de não especificar que precisamos de uma função sha1_hex
, e apenas escrever use Digest::SHA;
, quando você executar o programa de erro:
Undefined subroutine &main::sha1_hex called at script.pl line 7.
sha1_hex
A função sha1_hex
sempre retorna uma cadeia de caracteres. Nesta linha, sempre exactamente 40 caracteres. Nessa linha, podem ser
números de 0 a 9 e as letras em minúsculas do 'a'
até 'f'
.
Outros personagens desta linha não pode ser.
A função sha1_hex
retorna SHA1 como uma seqüência de caracteres que contém o número em notação hexadecimal.
Digest::SHA
disponível imediatamente
No início deste texto está escrito que a biblioteca Digest::SHA
vem com o Perl e se você tem um Perl, esta biblioteca imediatamente
disponível. Na verdade, não é bem assim. A biblioteca Digest::SHA
apareceu pela primeira vez na versão do Perl 5.10. Então, se você Perl
a versão 5.8 ou inferior, a biblioteca precisa colocar avançado. Mas o melhor mesmo é atualizar o Perl mais fresco. Perl 5.8 saiu em 2002.