파이썬 SHA256 암호화

SHA256 알고리즘의 쓰임

파이썬의 hashlib 모듈을 사용하면 다양한 알고리즘을 사용할 수 있는데 가장 많이 사용되고 있는 해시 알고리즘인 SHA256(Secure Hash Algorithm) 암호화를 진행해 보겠습니다 그전에 SHA256에 대해 설명하자면 웹이나 프로그램등의 사용자 암호를 안전하게 저장하고자 할 때 유용한 방법이며 입력된 문자열에 대한 동일하게 해시값을 출력하기 때문에 입력된 값이 올바른 데이터인지 여부를 확인할 수 있습니다

파이썬 SHA256 문자열 암호화

먼저 hashlib라이브러리를 불러와준 뒤에 str변수에 암호화하고자 하는 문자열을 넣어줍니다
값이 저장될 result변수에 hashlib라이브러리의 sha256 함수를 사용합니다 이때 sha256() 괄호 안에는 bytes형식의 텍스트를 넣어주면 되는데 저희는 아까 입력된 str변수를 가져와서 해쉬 암호화를 하기 위해 encode 해줍니다

그리고 암호화 후에 직접적으로 출력해 보면 sha256 해시 오브젝트를 반환하는데 우리가 사용할 수 있는 문자열 형태로 출력하기 위해. hexdigest() 함수를 사용하여 인코딩 된 데이터를 16진수 형식으로 반환하여 출력하게 됩니다
digest() 함수나 hexdigest() 함수를 사용하여 문자열 형태로 반환해 줄 수 있습니다

728x90

그래서 최종적으로 출력해 보면 위와 같은 해시값을 얻을 수 있습니다


파이썬 SHA256 파일 암호화

파일을 SHA256로 암호화하고자 할 경우 위와 같이 img파일을 지정해 줄 경우 결과가 출력되지만 이는 이미지파일의 해시값이 아닌 입력된 문자열 img.jpg라는 문자열에 대한 해시값이 출력된 겁니다
파일을 sha256 해시로 생성하기 위해서는 파일의 내용을 읽어와야 합니다


그래서 위에처럼 파일의 경로를 따로 정해두는 변수를 만들어두고 파일을 바이너리형태로 읽어옵니다
이후에 result함수에 해시로 변환된 값을 담아준 뒤. hexdigest() 함수를 사용하여 16진수로 인코딩 된 문자열을 출력해 줍니다

Top