SmartAuthen - Smart, einfache, leichte, sichere plattformübergreifende Authentifizierung für jede Anwendung.
Autor und Entwickler: AA Suvorov.
SmartAuthen v0.2.3
Verbesserungen der Code und Dokumentation:
Der Code ist jetzt benutzerfreundlicher und sicherer!
SmartAuthen - Smart, einfache, leichte, sichere plattformübergreifende Authentifizierung für jede Anwendung.
Verwenden Sie eine einfache, aber sehr zuverlässige und sichere Authentifizierung in einer Ihrer Anwendungen.
Vermeiden Sie Kennwörter bei der Registrierung und Authentifizierung in Ihren Anwendungen. Es ist für einen Benutzer schwierig, sich Passwörter zu erinnern. Daher verwenden Benutzer entweder kurze Kennwörter oder leichte Passwörter, die in die Hände von Cyberkriminellen abgespielt werden. Der geheime Satz ist schwer zu finden und leicht zu erinnern. Im Moment gibt es keine Regenbogentische geheimer Phrasen, da dies unrealistisch ist. Zum Beispiel kann ich bei der Registrierung als geheime Quatrain -Phrasen aus Ihrem Lieblingslied verwenden.
Es macht keinen Unterschied zu Ihrem Authentifizierungssystem, wie lange der geheime Ausdruck ist, erhalten Sie auf jeden Fall nur eine Taste mit fester Länge als Zeichenfolge.
Lassen Sie Ihre Benutzer sich bei einem leicht zu erinnerten geheimen Satz registrieren, an den der Benutzer leicht zu erinnern ist, aber ein Angreifer kann ihn nicht aufnehmen.
Speichern Sie nur die Anmeldung und den öffentlichen Schlüssel in Ihren Datenbanken. Wenn Ihre Datenbank kompromittiert wird, erhält ein Angreifer keinen Zugriff auf Benutzerkonten und kann in keiner Weise öffentliche Schlüssel zur Authentifizierung verwenden. Nach dem öffentlichen Schlüssel kann er das geheime Phrase in keiner Weise in irgendeiner Weise herausfinden.
Möglichkeiten:
Aufmerksamkeit!
Der öffentliche Schlüssel für das geheime Phrasepaar für Anmeldung + wird immer der gleiche sein.
Bei jeder Änderung der Anmeldung oder der geheimen Phrase ändert sich der Schlüssel. Wenn der Benutzer seinen Benutzernamen oder seine Passphrase ändert, muss der Schlüssel regeneriert werden.
Wenn Ihr System dieselben Anmeldungen zur Registrierung und Authentifizierung verwenden kann, verwenden Sie etwas anderes, Einzigartiges, um den öffentlichen Schlüssel wie eine eindeutige Kennung zu generieren.
Wenn Sie den Wert des step -Attributs im SmartAuth -Objekt ändern, ändert sich auch der Schlüssel für das Anmelde- und Geheimphrasepaar. Verwenden Sie für dieses Attribut immer den gleichen Wert. Je höher der Wert dieses Attributs ist, desto sicherer der öffentliche Schlüssel.
Verwendung:
Bei der Registrierung erhalten Sie vom Benutzer eine Anmeldung und eine geheime Phrase.
Erstellen Sie basierend auf den empfangenen Daten einen öffentlichen Schlüssel für den weiteren Speicher, gepaart mit einem Login. Wenn Ihr System dieselben Anmeldungen zur Registrierung und Authentifizierung verwenden kann, verwenden Sie etwas anderes, Einzigartiges, um den öffentlichen Schlüssel wie eine eindeutige Kennung zu generieren.
Bei der Authentifizierung eines Benutzers werden Sie gebeten, eine Anmeldung und einen geheimen Satz einzugeben.
Daten überprüfen.
(Während der Überprüfung wird zunächst ein öffentlicher Schlüssel basierend auf den empfangenen Daten im Vergleich zum gespeicherten Schlüssel generiert, und ein Boolescher Wert des Schlüsselvergleichs wird zurückgegeben.)
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 Berichterstattung 100% !!!

python -m buildOder veraltete Methode:
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.
--------------------------------------------------------