본문 바로가기
카테고리 없음

파이썬 백엔드 SHA256으로 암호화하는 방법

by IT_traveler 2023. 1. 7.

안녕하세요

오늘은 hashlib 이라는 파이썬 패키지를 사용하여 매우 초간단으로 암호화를 진행해 보죠

자.. 여러분 뉴스를 자주 보시는 분이라면 예전에 있던 평문으로 서버에 암호를 저장해서

유출된 사태가 아주 많다는 점을 아실 텐데요

 

이런 사태를 방지하기 위해 암호화하는 법을 알려드릴게요

 

< 코드 >

import hashlib
   
  plain_pw = str(input("여기에 암호화할 비밀번호 입력"))
   
  lv_encrypt = hashlib.sha256(plain_pw.encode())
  encrypt_pw = lv_encrypt.hexdigest()
   
  print(encrypt_pw)

어쩌다보니 표가 되어버렸지만 코드 자체는 간단해요

 

저 위에 있는 hashlib 이라는 걸 pip install hashlib=="버전" 을 통해 원하는 버전을 설치한 다음에

코드 복붙하세요

 

import hashlib

 

plain_pw = str(input("여기에 암호화할 비밀번호 입력"))

lv_encrypt = hashlib.sha256(plain_pw.encode())

encrypt_pw = lv_encrypt.hexdigest()

print(encrypt_pw)

 

이건 진짜 간단한 편인데 input 으로 받은 정보 ( 보통은 백엔드니까 get / post 정보 ) 를 플레인(평문)으로 보내고

해당 정보를 sha 256 암호화를 통해 lv encrypt 로 보낸 다음 변환해서 출력해주는 코드로

 

보통은 여기에 private key ( 비밀키 ) 를 넣어서 서버 전용의 토큰으로 암호화 하는데 이거 공개당하면 큰일나니까 조심해주시고요

 

제 경우에는 plain_pw (str) 스트링 문자 데이터에

encrypt_lv2 = plain_pw + ("비밀키")

를 받고 encrypt_lv2 를 sha256을 통해 사용하는데 이렇게 되면 sha256 키가 복호화 되더라도 비밀키가 붙어있어서 안전하다고 하더라구요

 

뭐.. 이게 다에요

파이썬 백엔드 구축을 위해서 배우고 있는데 nodejs 보다는 간단한 거 같기도 하고.. 아닌 거 같기도 하고 그런 느낌...?

 

 

아 맞다

이걸 app.post("/"):

          async function home() {

          여기에 파이썬 코드를 넣으면 됩니다

}