int(input("숫자를 입력하시오 : ")) # 숫자를 입력받아도 "1"의 형태이므로 정수로 바꿔줘야함
사용자가 인풋값을 숫자로 입력을 하더라도 컴퓨터는 "12" 이런식의 문자로 받아들임
-> int로 감싸주어 숫자로 인식되도록함
반대의경우 str로
import hashlib #해시모듈을 임포트
class Member:
def __init__(self, name, username, password):
self.name = name
self.username = username
self.password = hashlib.sha256(password.encode()).hexdigest() # 비밀번호를 해싱하여 저장합니다.
self.password = hashlib.sha256(password.encode()).hexdigest()
: 인스턴스 변수 password를 인자로 받은 password를 해싱하여 초기화함
password.encode() 비밀번호를 바이트열로 변환. 해시 함수는 바이트열을 입력으로 받음
hashlib.sha256(...) hashlib 모듈의 sha256 함수를 사용하여 SHA-256 해시 객체를 생성 - 이 함수는 주어진 데이터를 SHA-256 해시로 변환함
hexdigest() 해시 객체의 해시값을 16진수 문자열 형태로 반환함( 해시된 비밀번호를 16진수 형태로 저장)
예시 ))
import hashlib
data = b"baboya!" # 데이터는 바이트열로 전달해야함
hash_object = hashlib.sha256(data)
hex_dig = hash_object.hexdigest()
print(hex_dig)
#출력 : dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f
hash_object = hashlib.sha256(data): hashlib 모듈의 sha256 함수를 사용 -> SHA-256 해시 객체를 생성
바보야라는 데이터의 해시를 생성하고 있음
hex_dig = hash_object.hexdigest(): 해시 객체의 hexdigest() 메서드를 호출하여 해시값을 16진수 문자열 형태로 반환/해시값을 16진수 형태의 문자열로 저장-> 해시값을 출력할 때 사용
print(hex_dig) 16진수 형태로 표현된 SHA-256 해시값 출력
---------------
해시는 아직 넘 어려움 ㅜㅜ
'Til' 카테고리의 다른 글
Til 24.03.04 -알고리즘 -파이썬(int , range) (0) | 2024.03.04 |
---|---|
TIl 24.02.29 파이썬 -패킹/언패킹?? (*args , **kwargs) (0) | 2024.03.04 |
TIL - 24.02.29 -파이썬 - 조건문 문법 (==, !=, in, if all, if any) (0) | 2024.02.29 |
Til- 24.02.28 -파이썬 - append() 메서드-리스트 끝에 추가할때 (0) | 2024.02.28 |
Til - 24.02.28 - 파이썬 -개인과제 (3) 클래스 사용해보기 /회원과 게시물관리 프로그램 (0) | 2024.02.28 |