UNIX 암호를 확인하려면 crypt 모듈을 사용해야 합니다. crypt(3) 루틴이 있습니다. 기본적으로 수정된 DES 알고리즘을 기반으로 한 단방향 해시 함수입니다.
crypt 모듈을 사용하려면 다음을 사용하여 가져와야 합니다.
import crypt
방법 crypt.crypt(단어, 소금)
이 메서드는 두 개의 인수를 사용합니다. 첫째는 말씀이고 둘째는 소금입니다. 이 단어는 기본적으로 프롬프트에서 제공되는 사용자 암호입니다. 소금은 임의의 문자열입니다. 4096가지 방법 중 하나로 DES 알고리즘을 교란시키는 데 사용됩니다. 솔트에는 대문자, 소문자, 숫자 값과 '/', '.' 문자만 포함됩니다.
이 메서드는 해시된 암호를 문자열로 반환합니다.
예시 코드
import crypt, getpass, spwd def check_pass(): username = input("Enter The Username: ") password = spwd.getspnam(username).sp_pwdp if password: clr_text = getpass.getpass() return crypt.crypt(clr_text, password) == password else: return 1 if check_pass(): print("The password matched") else: print("The password does not match")
출력
(루트 수준 권한으로 이 프로그램 실행)
$ sudo python3 example.py Enter The Username: unix_user Password: The password matched