Что нового
  • Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Lithe Hash: Um Módulo Robusto para Hashing Seguro de Senhas

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
6,420
Баллы
155
O Lithe Hash é um módulo robusto projetado para hashing seguro de senhas utilizando o algoritmo Bcrypt. Este módulo simplifica o processo de criação, verificação e gerenciamento de hashes de senhas, garantindo que as melhores práticas de segurança sejam seguidas.

Índice

  1. Instalação
  2. Uso
    • Importando a Classe
    • Criando um Hash
    • Verificando um Hash
    • Verificando se um Hash Precisa de Rehashing
    • Entendendo o Bcrypt
    • Tratamento de Exceções
  3. Testes
  4. Licença
Instalação


Para instalar o pacote lithemod/hash, você pode usar o Composer. Execute o seguinte comando no seu terminal:


composer require lithemod/hash

Isso adicionará o pacote às dependências do seu projeto, permitindo que você utilize a classe Hash em sua aplicação.

Uso

Importando a Classe


Antes de usar a classe Hash, você deve importá-la em seu arquivo PHP:


use Lithe\Support\Security\Hash;
Criando um Hash


Para criar um hash a partir de uma senha, utilize o método make. O método aceita uma senha e um array opcional de opções:


$hash = Hash::make('sua_senha', ['cost' => 10]);

Parâmetros:

  • string $value: A senha a ser hashed.
  • array $options: Parâmetros opcionais (por exemplo, cost) para ajustar o algoritmo de hashing.

Retorna: Uma string hash que pode ser armazenada em um banco de dados.

Exemplo:


$password = 'minha_senha_segura';
$hash = Hash::make($password, ['cost' => 12]);
echo "Senha Hashed: " . $hash;
Verificando um Hash


Para verificar se uma senha corresponde ao hash, utilize o método check:


$isValid = Hash::check('sua_senha', $hash);
if ($isValid) {
echo 'Senha é válida!';
} else {
echo 'Senha inválida.';
}

Parâmetros:

  • string $value: A senha a ser verificada.
  • string $hash: A senha hash para comparação.

Retorna: true se a senha corresponder ao hash; false caso contrário.

Exemplo:


if (Hash::check('minha_senha_segura', $hash)) {
echo 'Senha está correta!';
} else {
echo 'Senha está incorreta!';
}
Verificando se um Hash Precisa de Rehashing


Você pode determinar se um hash precisa ser rehashed (por exemplo, se você alterar o fator de custo) utilizando o método needsRehash:


$needsRehash = Hash::needsRehash($hash, ['cost' => 14]);
if ($needsRehash) {
// Rehash com um novo custo
$hash = Hash::make('sua_senha', ['cost' => 14]);
}

Parâmetros:

  • string $hash: A senha hash a ser avaliada.
  • array $options: Parâmetros opcionais para especificar o custo.

Retorna: true se o hash precisa ser rehashed; false caso contrário.

Exemplo:


if (Hash::needsRehash($hash, ['cost' => 15])) {
$hash = Hash::make('minha_senha_segura', ['cost' => 15]);
echo "Senha Rehashed: " . $hash;
}
Entendendo o Bcrypt


O Bcrypt é uma função de hashing de senhas amplamente utilizada, projetada para ser lenta e intensiva em computação, tornando-a resistente a ataques de força bruta. Ao utilizar um fator de custo configurável, o Bcrypt permite que você aumente a dificuldade do hashing conforme o hardware se torna mais rápido.

  • Fator de Custo: O fator de custo determina a complexidade computacional de hashing de uma senha. Ele representa o número de iterações do algoritmo de hashing. Um custo mais alto significa mais segurança, mas também aumenta o tempo de processamento. A faixa recomendada é entre 10 e 12 para a maioria das aplicações.
Tratamento de Exceções


O método make lança uma InvalidArgumentException se o custo for definido fora da faixa válida (4 a 31). Você deve tratar isso em seu código para garantir robustez:


try {
$hash = Hash::make('sua_senha', ['cost' => 3]); // Custo inválido
} catch (\InvalidArgumentException $e) {
echo "Erro: " . $e->getMessage();
}


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх