SmartAuthen : autenticación multiplataforma inteligente, simple, liviana y segura para cualquier aplicación.
Autor y desarrollador: AA Suvorov.
SmartAuthen V0.2.3
Mejoras de código y documentación:
¡El código ahora es más fácil de usar y seguro!
SmartAuthen : autenticación multiplataforma inteligente, simple, liviana y segura para cualquier aplicación.
Use autenticación simple pero muy confiable y segura en cualquiera de sus aplicaciones.
Evite las contraseñas al registrarse y autenticarse en sus aplicaciones. Es difícil para un usuario recordar contraseñas, por lo tanto, los usuarios usan contraseñas cortas o contraseñas de luz, que se reproducen en manos de los cibercriminales. La frase secreta es difícil de encontrar y fácil de recordar. Por el momento no hay tablas de frases secretas, ya que esto no es realista. Por ejemplo, puedo usar cuando me registro como frases secretas de la cuarteta de su canción favorita.
No hay diferencia para su sistema de autenticación cuánto tiempo es, en cualquier caso, recibirá solo una clave de longitud fija como cadena.
Deje que sus usuarios se registren con una frase secreta fácil de recordar que el usuario será fácil de recordar, pero un atacante no podrá recogerlo.
Almacene solo el inicio de sesión y la clave pública en sus bases de datos, si su base de datos se compromete, un atacante no obtendrá acceso a las cuentas de los usuarios y no podrá usar claves públicas para la autenticación de ninguna manera, después de todo, por la clave pública, no podrá encontrar la frase secreta de ninguna manera.
Posibilidades:
¡Atención!
La clave pública para el par de frases secretas + login siempre será la misma.
Con cualquier cambio en la frase de inicio de sesión o secreto, la clave cambiará, por lo tanto, si el usuario cambia su nombre de usuario o frase de pases, la clave debe ser regenerada.
Si su sistema puede usar los mismos inicios de sesión para el registro y la autenticación, usar algo más, único, para generar la clave pública, como un identificador único.
Si cambia el valor del atributo step en el objeto SmartAuth, la clave para el par de frases Secret Secret también cambiará. Siempre use el mismo valor para este atributo. Cuanto mayor sea el valor de este atributo, más segura es la clave pública.
Uso:
Al registrarse, recibirá un inicio de sesión y una frase secreta del usuario.
Según los datos recibidos, genere una clave pública para un mayor almacenamiento, junto con un inicio de sesión. Si su sistema puede usar los mismos inicios de sesión para el registro y la autenticación, usar algo más, único, para generar la clave pública, como un identificador único.
Al autenticar a un usuario, se le pide que ingrese un inicio de sesión y una frase secreta.
Verificar los datos.
(Durante la verificación, se genera primero una clave pública en función de los datos recibidos, en comparación con la clave almacenada, y se devuelve un valor booleano de la comparación de clave).
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 buildO método obsoleto:
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.
--------------------------------------------------------