Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 13344|Resposta: 1

[Correspondência] Princípio do método de criptografia md5crypt do extmail (implementação PHP)

[Copiar link]
Publicado em 21/05/2015 08:05:33 | | |
A empresa usou recentemente extmail+postfix como solução de envio de correspondência. No sistema OA existente, os funcionários devem fazer login com suas contas legais ao fazer login no OA, mas, dessa forma, pelo menos duas contas e senhas independentes são necessárias, o que tem certo impacto na eficiência do trabalho.

Por isso, decidimos modificar o mecanismo de login existente do sistema OA para usar as mesmas informações de conta e senha do extmail, o que tem a vantagem de que os funcionários podem usá-lo para fazer login no sistema OA desde que lembrem a senha do e-mail, o que pode melhorar significativamente a eficiência do trabalho.

Depois de entender, o extmail usa o mysql para salvar informações da conta de e-mail, e a senha da tabela de caixa de correio salva as informações criptografadas, mas o extmail suporta múltiplos métodos de criptografia; para detalhes, você pode verificar as configurações do item SYS_CRYPT_TYPE no arquivo /var/www/extsuite/extman/webman.cf.

Meu sistema usa criptografia md5crypt, e o formato da senha é: $1$k0Q4EA49$XXXXXXXXXXXXXXXXXXXXXXXX.
Se a senha original não estiver mais registrada na tabela de caixas de correio, como posso verificar se o usuário digitou a senha corretamente?

Após verificar repetidamente o uso das funções cripta no manual do PHP, descobri que o cripto suporta uma variedade de métodos diferentes de criptografia de hash; por favor, leia detalhadamente o uso específico das funções cripta no manual do PHP.

md5crypt possui um salt, caracterizado pelo fato de que esse salt é registrado no texto cifrado criptografado, ou seja, no símbolo $ e nos caracteres que ele contém, e o salt no resultado de criptografia acima é $1$k0Q4EA49$, então a implementação PHP do algoritmo de criptografia para a senha original é 123456 e o salt é $1$k0Q4EA49$ da seguinte forma:

<?php
cripta eco ('123456', '$1$k0Q4EA49$' );

Output $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr.

Uma vez que entendemos esse princípio, podemos integrar a verificação das informações da conta da caixa de correio do Extmail em qualquer um dos nossos sistemas.

Além disso, o método de criptografia do /etc/shadow e do md5-crypt do Linux é exatamente o mesmo do princípio acima; se você quiser mudar à força a senha de uma conta para 123456 sem usar outras ferramentas, pode definir o segundo campo da conta correspondente no arquivo /etc/shadow para $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr.




Anterior:ferramenta sql para Linq
Próximo:Recuperação de senha de administrador do EXTMAIL
Publicado em 10/09/2019 22:44:07 |
Irmão Fei, irmão
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com