SmartAuthen- 모든 응용 프로그램에 대한 스마트하고 단순하며 가벼우 며 안전한 크로스 플랫폼 인증.
저자 및 개발자 : AA Suvorov.
SmartAuthen v0.2.3
코드 및 문서 개선 :
코드는 이제보다 사용자 친화적이고 안전합니다!
SmartAuthen- 모든 응용 프로그램에 대한 스마트하고 단순하며 가벼우 며 안전한 크로스 플랫폼 인증.
응용 프로그램에서 간단하면서도 신뢰할 수 있고 안전한 인증을 사용하십시오.
응용 프로그램에 등록하고 인증 할 때 비밀번호를 피하십시오. 사용자가 암호를 기억하기가 어렵 기 때문에 사용자는 짧은 비밀번호 나 경화 암호를 사용하여 사이버 범죄자의 손에 들어갑니다. 비밀 문구는 찾기가 어렵고 기억하기 쉽습니다. 현재 비현실적이기 때문에 비밀 문구의 무지개 테이블이 없습니다. 예를 들어, 좋아하는 노래에서 비밀 Quatrain 문구로 등록 할 때 사용할 수 있습니다.
인증 시스템에 차이가 없습니다. 비밀 문구가 얼마나 오래 걸리는지, 어쨌든 고정 길이 키 만 문자열로 받게됩니다.
사용자가 쉽게 기억하기 쉬운 비밀 문구로 사용자를 등록하도록하지만 공격자는이를 선택할 수 없습니다.
데이터베이스에 로그인 및 공개 키 만 저장하십시오. 데이터베이스가 손상되면 공격자는 사용자 계정에 액세스하지 못하고 공개 키를 위해 공개 키를 사용하여 공개 키에 의해 어떤 식 으로든 비밀 문구를 찾을 수 없습니다.
가능성 :
주목!
로그인 + 비밀 문구 쌍의 공개 키는 항상 동일합니다.
로그인 또는 비밀 문구가 변경되면 키가 변경되므로 사용자가 사용자 이름이나 암호를 변경하면 키를 재생해야합니다.
시스템이 등록 및 인증에 동일한 로그인을 사용할 수있는 경우 고유 한 식별자와 같은 공개 키를 생성하기 위해 고유 한 다른 것을 사용하십시오.
SmartAuth 객체에서 step 속성의 값을 변경하면 로그인 + 비밀 문구 쌍의 키도 변경됩니다. 이 속성에 항상 동일한 값을 사용하십시오. 이 속성의 값이 높을수록 공개 키가 더 안전합니다.
용법:
등록 할 때는 사용자로부터 로그인과 비밀 문구를 받게됩니다.
수신 된 데이터를 기반으로 로그인과 짝을 이루는 추가 스토리지를위한 공개 키를 생성하십시오. 시스템이 등록 및 인증에 동일한 로그인을 사용할 수있는 경우 고유 한 식별자와 같은 공개 키를 생성하기 위해 고유 한 다른 것을 사용하십시오.
사용자를 인증 할 때 로그인과 비밀 문구를 입력하라는 요청을받습니다.
데이터 확인.
(검증 중에 공개 키는 저장된 키와 비교하여 수신 된 데이터를 기준으로 먼저 생성되며 키 비교의 부울 값이 반환됩니다.)
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 적용 범위 100% !!!

python -m build또는 오래된 방법 :
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.
--------------------------------------------------------