SmartAuthen - Autenticação de plataforma cruzada inteligente, simples, leve e segura para qualquer aplicativo.
Autor e desenvolvedor: AA Suvorov.
SmartAuthen v0.2.3
Melhorias de código e documentação:
O código agora é mais fácil de usar e seguro!
SmartAuthen - Autenticação de plataforma cruzada inteligente, simples, leve e segura para qualquer aplicativo.
Use autenticação simples, mas muito confiável e segura em qualquer um de seus aplicativos.
Evite senhas ao registrar e autenticar em seus aplicativos. É difícil para um usuário lembrar de senhas; portanto, os usuários usam senhas curtas ou senhas leves, que são exibidas nas mãos dos cibercriminosos. A frase secreta é difícil de encontrar e fácil de lembrar. No momento, não há mesas de arco -íris de frases secretas, pois isso não é realista. Por exemplo, posso usar ao me registrar como uma frase de quadra secreta da sua música favorita.
Não faz diferença para o seu sistema de autenticação quanto tempo é a frase secreta, em qualquer caso, você receberá apenas a chave de comprimento fixo como uma string.
Deixe seus usuários se registrarem com uma frase secreta fácil de lembrar que o usuário será fácil de lembrar, mas um invasor não poderá buscá-la.
Armazene apenas o login e a chave pública em seus bancos de dados, se o seu banco de dados for comprometido, um invasor não obterá acesso às contas de usuário e não poderá usar chaves públicas para autenticação de forma alguma, afinal, pela chave pública, ele não poderá descobrir a frase secreta de forma alguma.
Possibilidades:
Atenção!
A chave pública para o par de frases de login + secreto sempre será a mesma.
Com qualquer alteração no login ou frase secreta, a chave mudará; portanto, se o usuário alterar seu nome de usuário ou senha, a chave precisará ser regenerada.
Se o seu sistema puder usar os mesmos logins para registro e autenticação, use outra coisa, exclusiva, para gerar a chave pública, como um identificador exclusivo.
Se você alterar o valor do atributo step no objeto SmartAuth, a chave para o par de frases de login + secreto também mudará. Sempre use o mesmo valor para este atributo. Quanto maior o valor desse atributo, mais segura a chave pública.
Uso:
Ao se registrar, você receberá um login e uma frase secreta do usuário.
Com base nos dados recebidos, gerar uma chave pública para armazenamento adicional, emparelhado com um login. Se o seu sistema puder usar os mesmos logins para registro e autenticação, use outra coisa, exclusiva, para gerar a chave pública, como um identificador exclusivo.
Ao autenticar um usuário, você deve entrar em um login e uma frase secreta.
Verificando os dados.
(Durante a verificação, uma chave pública é gerada pela primeira vez com base nos dados recebidos, em comparação com a chave armazenada, e um valor booleano da comparação de chave é retornado.)
pip install smartauthen from smartauthen import SmartAuth
smart_auth = SmartAuth ()
login = 'login'
secret = 'secret'
key = smart_auth . make_key ( login , secret )
# True since the login + secret phrase is correct
print ( smart_auth . check ( login , secret , key )) # True
secret = 'secret2'
# False because the secret phrase is incorrect
print ( smart_auth . check ( login = login , secret = secret , key = key )) # False pip install pytestpytest -v pip install pytest-covpytest --cov --cov-report=html Cobertura 100% !!!

python -m buildOu método desatualizado:
python setup.py sdist bdist_wheel
twine upload dist/*
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------
Licensed under the terms of the BSD 3-Clause License
(see LICENSE for details).
Copyright © 2018-2024, A.A. Suvorov
All rights reserved.
--------------------------------------------------------