Milky's note

[Pandas] 데이터프레임 컬럼 SHA256으로 암호화하기 본문

Python/요약 정리

[Pandas] 데이터프레임 컬럼 SHA256으로 암호화하기

밀뿌 2024. 1. 8. 19:18

 

● SHA-256이란

SHA는 Secure Hash Algorithm를 의미하고 

SHA-256은 메시지, 파일, 혹은 데이터 무결성 검증에 널리 사용되는 암호화 해싱 알고리즘(함수)이다.

변환하기를 원하는 문자들을 256 bit 길이의 key로 변환하며 SHA-256을 사용하면 문자가 조금만 바뀌어도 해시값이 완전히 변한다.

 

공백 하나 느낌표 하나 등만 들어가도 완전히 다른 값으로 암호화되기 때문에 원본 데이터가 중요하다.

 

● 사용법

import hashlib
import pandas as pd

df = pd.read_excel('hash.xlsx')
df['8digit'] = df['8digit'].astype('str').str.zfill(10)
df

 

우선 해시할 데이터를 불러온다.

나는 판다스를 사용해서 데이터프레임에 적용시킬 것이기 때문에 데이터 프레임을 만들어주고

끝에 8자리만 해시 해주기 위해 비어있는 자리수는 0으로 채워주기 위해 zfill 함수를 사용했다.

df["hash256"] = df['8digit'].apply(lambda x: hashlib.sha256(str(x).encode()).hexdigest()).str.upper()
df["hash512"] = df['8digit'].apply(lambda x: hashlib.sha512(str(x).encode()).hexdigest()).str.upper()

 

그리고 해시할 컬럼을 lambda를 이용해서 sha256 알고리즘을 적용시켜주고 데이터 프레임에 해시한 컬럼을 추가해준다.

추가로 대문자로 사용할 것이라서 upper 함수를 이용해서 대문자화 해주었다.

 

다음과 같이 SHA-256과 SHA-512로 해시된 것을 확인할 수 있다.

 

 

Comments