SmartAuthen - Authentification multiplateforme intelligente, simple, légère et sécurisée pour toute application.
Auteur et développeur: AA Suvorov.
smartauthen v0.2.3
Améliorations du code et de la documentation:
Le code est désormais plus convivial et sécurisé!
SmartAuthen - Authentification multiplateforme intelligente, simple, légère et sécurisée pour toute application.
Utilisez une authentification simple mais très fiable et sécurisée dans l'une de vos applications.
Évitez les mots de passe lors de l'enregistrement et de l'authentification dans vos applications. Il est difficile pour un utilisateur de se souvenir des mots de passe, par conséquent, les utilisateurs utilisent des mots de passe courts ou des mots de passe légers, qui se joue entre les mains des cybercriminels. La phrase secrète est difficile à trouver et facile à retenir. Pour le moment, il n'y a pas de tables arc-en-ciel de phrases secrètes, car cela n'est pas réaliste. Par exemple, je peux utiliser lors de votre inscription en tant que phrases de quatrain secrètes de votre chanson préférée.
Cela ne fait aucune différence pour votre système d'authentification combien de temps la phrase secrète est, en tout cas, vous ne recevrez que la clé de longueur fixe en tant que chaîne.
Laissez vos utilisateurs s'inscrire avec une phrase secrète facile à rappeler que l'utilisateur sera facile à retenir, mais un attaquant ne pourra pas le récupérer.
Stockez uniquement la connexion et la clé publique dans vos bases de données, si votre base de données est compromise, un attaquant n'aura pas accès aux comptes d'utilisateurs et ne sera pas en mesure d'utiliser les clés du public pour l'authentification de quelque manière que ce soit, après tout, par la clé publique, il ne pourra en aucun cas découvrir la phrase secrète.
Possibilités:
Attention!
La clé publique de la paire de phrases de connexion + secrera sera toujours la même.
Avec tout changement dans la connexion ou la phrase secrète, la clé changera, donc si l'utilisateur modifie son nom d'utilisateur ou sa phrase de passe, la clé doit être régénérée.
Si votre système peut utiliser les mêmes connexions pour l'enregistrement et l'authentification, utilisez quelque chose d'autre, unique, pour générer la clé publique, comme un identifiant unique.
Si vous modifiez la valeur de l'attribut step dans l'objet SmartAuth, la clé de la paire de phrases Secret Login + changera également. Utilisez toujours la même valeur pour cet attribut. Plus la valeur de cet attribut est élevée, plus la clé publique est élevée.
Usage:
Lors de votre inscription, vous recevrez une connexion et une phrase secrète de l'utilisateur.
Sur la base des données reçues, générez une clé publique pour plus de stockage, associée à une connexion. Si votre système peut utiliser les mêmes connexions pour l'enregistrement et l'authentification, utilisez quelque chose d'autre, unique, pour générer la clé publique, comme un identifiant unique.
Lors de l'authentification d'un utilisateur, il vous est demandé de saisir une connexion et une phrase secrète.
Vérification des données.
(Pendant la vérification, une clé publique est d'abord générée sur la base des données reçues, par rapport à la clé stockée, et une valeur booléenne de la comparaison des clés est renvoyée.)
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 Couverture 100% !!!

python -m buildOu méthode obsolète:
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.
--------------------------------------------------------