codigosecafe/grifo-hash
Composer 安装命令:
composer require codigosecafe/grifo-hash
包简介
Grifo é uma classe PHP para gerar hashing de senha e validação.
README 文档
README
Espero que possa ajudar como o hashing das senhas do seu sistema. Essa classe foi criada e testada no laravel.
Instalação
composer require codigosecafe/grifo-hash
Sobre a classe GrifoHash
GrifoHash é uma classe PHP para gerar hashing de senha e validação. A classe GrifoHash tem esse nome como sinonimo da palavra enigma inspirado no filme O Jogo da Imitação. Com uma ideia bem simples, de juntar alguns metodos de codificação e geração de hash para tornar a senha um pouco mais segura do que utilizar apenas um método como MD5, SHA-1 SHA-256 ou SHA-512. Esses métodos cumprem o que promete mas são notavelmente inseguros. A classe GrifoHash além de usufruir de alguns desses métodos finaliza o hashing com o padrão bcrypt/blowfish.
Recomendo a leitura do artigo em inglês: https://en.wikipedia.org/wiki/Bcrypt
Adcionando a classe GrifoHash no meu projeto
Para adicionar a classe basta importala para o seu projeto através do método "use". Ex.:
<?php use codigosecafe\GrifoHash;
Principais métodos da classe GrifoHash
::make_password()
Método responsável por gerar o hashing da senha que será armazenada no banco de dados. Indenpedente da senha sempre será gerado um hashing unico. Bom lembrar que o hash sempre será composto de 60 caracteres, então você pode definir a sua coluna que armazena a senha com CHAR(60) ou VARCHAR(60), claro se você estiver usando o MySQL/MariaDB. ;)
Criptografando senhas
Para criptografar a senha basta atribuir o valor digitado pelo usuario a uma variavel e execultar o método make_password(). Ex. Testado no Laravel:
<?php namespace App\Http\Controllers; use codigosecafe\GrifoHash; class meuController extends Controller { public static function index() { // Instancio a classe GrifoHash $GrifoHash = new GrifoHash(); //####################################################################// // Senha digitada pelo usuario $senha_digitada = '1q2w3e4r'; // a senha pode ser coletada via o método $_POST ou $_GET // Gero o hashing da senha para ser salva no banco de dados $senha_gerada = $GrifoHash::make_password($senha_digitada); // Agora basta armazenar o valor da variavel $senha_gerada no campo senha da tabela do seu banco de dados echo "Senha gerada com hashing aleatorio e unico<br/>"; echo "<b>$senha_gerada</b>"; echo "<br/>Se a pagina for atualizada sera gerado outro hash<br/>"; } }
::check_pass()
Método responsável por comparar e validar o hashing da senha. Já que estamos trabalhando com um hashing gerado aleatoriamente, seria impossível gerar um novo hash indentico ao hash que está no banco. mas o método bcrypt/blowfish permite que eu consiga validar a senha. Ex. Testado no Laravel:
<?php namespace App\Http\Controllers; use codigosecafe\GrifoHash; class meuController extends Controller { public static function index() { // Instancio a classe GrifoHash $GrifoHash = new GrifoHash(); //####################################################################// // Senha digitada pelo usuario $senha_digitada = '1q2w3e4r'; // a senha pode ser coletada via o método $_POST ou $_GET // Para comparar a senha digitada com a senha salva no bando de dados // primeiro devo buscar a senha a ser comparada no banco // e atribuir ela a uma variavel $senha_DB = '$2a$08$MTU4NDc5MDAxNDU5Mjc5Z.Nx0ZOYEiUDaOpyEMHZNNUYuJDHRgzI2'; // Senha salva no banco de dados com 60 caracters // Agora basta rodar o metodo de checagem dos hashing if ($GrifoHash::check_pass($senha_digitada, $senha_DB)) { echo 'Senha OK!'; } else { echo 'Senha incorreta!'; } } }
Obs.: Caso tenha coriosidade como funciona todos os métodos da classe você pode ler o códigos font no arquivo src/GrifoHash/GrifoHash.php.
Author: Claudio Alexssandro Lino
Sou Full Stack Developer gosto de atuar em todas as fazes dos projetos, desde a criação do wireframe, configuração do servidor, planejamento das historias através dos métodos ágeis, codificação do backend e frontend.
Tenho experiência no frameworks Laravel (4 anos). Exerci varias funções dentro da minha profissão que qualificou a ser um Full Stack Developer , executei vários trabalhos como Web Design, Ilustrador WEB, Gerente de Media Social, Consultor SEO voltado para estrutura HTML, Desenvolvimento back-end para aplicações Web e Desktop, configuração e manutenção de servidores web baseado em linux.
Especializações: PHP, AngularJS, MySQL, PostgreSQL, MariaDB, Framework PHP Laravel, Intel® XDK, Ionic, Smarty Template - Blade Template - Bootstrap - Framework PHP CodeIgniter, Wordpress, Linux, Java Script, Jquery junto com Ajax, GIT e Vagrant.
codigosecafe+git@gmail.com | Skype: claudio.alexssandro | https://www.linkedin.com/in/claudioalexssandrolino/
codigosecafe/grifo-hash 适用场景与选型建议
codigosecafe/grifo-hash 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 20 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 12 月 31 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「password」 「MD5」 「codigosecafe」 「GrifoHash」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 codigosecafe/grifo-hash 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 codigosecafe/grifo-hash 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 codigosecafe/grifo-hash 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A filter for twig to hash a string with MD5
The PHP class PasswordGenerator serves as a password generator to create memorable passwords like the keychain of macOS ≤ 10.14 did.
This symfony user provider reads user from the htpasswd file.
Laravel package to use unsecured MD5 for password hash
Laravel middleware to restrict a site or specific routes using HTTP basic authentication
A pure PHP implementation of an MD5-hashsum-based implementation of the crypt routine, which can be used to generate hashs for Apache's passwd files
统计信息
- 总下载量: 20
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-12-31