Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wanderson Valerio

Erro com hash salsa20

Recommended Posts

Oi galera, boa tarde.

 

Agora pouco em coloquei um site no ar, e me retornou o seguinte erro na página de login:

 

Warning: hash() [function.hash]: Unknown hashing algorithm: salsa20 in /home/casaspra/public_html/site/cloud/index.php on line 78

 

O que pode estar acontecendo? Obrigado.

 

Obs: Em localhost, funciona perfeitamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, quando eu subia os arquivos para o servidor que usamos aqui na empresa, funcionava perfeitamente, com a Kinghost, agora que vamos colocar em um servidor diferente, o do cliente, gerou esse erro, segue o código, obrigado.

 

$senha         = hash("salsa20", anti_injection($_POST['senha']));
$senha_hash    = hash("salsa20", '');

 

É um script de login, não vou mostrar para todos pois é confidencial, aí meu sistema fica totalmente vulnerável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Execute este script e verifique se ele (salsa20) se encontra na lista de algoritmos de hash suportados

 

<?php

echo '<pre>';
print_r( hash_algos( ) );

 

O salsa20 não aparece na lista, alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Recomendo sha512, pois se salsa20 não está na lista, então ele não é suportado.

 

Changelog

Version Description

5.4.0 Support for joaat, fnv132 and fnv164 was added. Support for Salsa10 and Salsa20 was removed.

5.3.0 Support for md2, ripemd256, ripemd320, salsa10, salsa20, snefru256 and sha224 was added

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não existe uma forma de habilitar? Pois o salsa20, eu usei em funções do site inteiro, e pra desabilitar agora, tenho que percorrer arquivos que eu nem lembro.

 

Obrigado!

 

Existe alguma forma de habilitar o salsa20 para funcionar no servidor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da documentação de hash_algos():

Changelog

 

Version Description

5.4.0 Support for joaat, fnv132 and fnv164 was added. Support for Salsa10 and Salsa20 was removed

Mais cedo ou mais tarde, teria de abandonar esse hash, mesmo

Também recomendo sha512

 

Não existe uma forma de habilitar? Pois o salsa20, eu usei em funções do site inteiro, e pra desabilitar agora, tenho que percorrer arquivos que eu nem lembro.

Nessas horas, um arquivo de configuração seria muito bem-vindo. Você alteraria apenas uma linha :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pessoal.

 

@Beraldo, vacilei mesmo, agora vou guardar essa dica e fazer isso, valeu!

 

find . -type f -iname \*.php -exec sed \-i 's:salsa20:sha512:g' {} \;

 

:assobiando:

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Evandro Oliveira, este é código para habilitar o salsa20? Obrigado!

Não. É um comando para trocar as ocorrências de salsa20 por sha512. Se você usa Windows, esqueça. Se usa um Sistema Operacional, poderá usar esse comando :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando disse Windows, estava se referindo a servidor? Pois meu servidor é Linux, funcionará? Como faço pra executar esse código? Valeu amigo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não. É um comando para trocar as ocorrências de salsa20 por sha512. Se você usa Windows, esqueça. Se usa um Sistema Operacional, poderá usar esse comando :)

 

cygwin mata a pau :D

 

Agora, como instalar e configurar, realmente, já está fora do escopo deste tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca usei o cygwin. Pensei que era só um compilador decente, como o gcc (só vi citações ao cygwin no fórum de C :P ).

Acho mais fácil fazer vários find/replace do que instalar isso e aprender como funciona (pra quem já não conhece).

 

Enfim, ficam aí a dica e o desafio :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nem precisa esquentar a cabeça.

 

Você pode instalar um dos (ou todos, se preferir)os pacotes do GNU32 for Windows e, caso não seja feito automaticamente, adicionar o path na Variável de Ambiente PATH e rodar pelo DOS (ou pelo próprio PHP) do mesmo jeito que faria em sistemas *nix.

 

:grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca usei o cygwin. Pensei que era só um compilador decente, como o gcc (só vi citações ao cygwin no fórum de C :P ).

Acho mais fácil fazer vários find/replace do que instalar isso e aprender como funciona (pra quem já não conhece).

 

Enfim, ficam aí a dica e o desafio :)

 

É nessas horas que você lembra que quando perguntam "Qual IDE você usa?" quem responde "Programador de verdade usa notepad++" vai levar muito na cabeça ainda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.