Python 문자열 해싱하여 아바타 사진 생성하는 pagan 라이브러리 알아보기
오늘은 Python으로 입력 문자열을 해시하여 프로필 사진으로 사용할 고유 아바타(identicons) 이미지를 생성할 수 있는 라이브러리인 pagan을 적용해보려 합니다.
pagan 설치
우선 virtualenv로 파이썬 환경을 분리해줍니다.
pip3 install virtualenv
virtualenv -mvenv env
env라는 이름의 가상 환경을 생성합니다.
source env/bin/activate
가상환경을 폴더에서 활성화합니다.
pip3 install --upgrade pip
pip의 업그레이드가 존재하는지 확인하고 진행합니다.
pip install keyboard
pip로 keyboard를 설치합니다.
cli
>> pagan (문자열)
cli 프로그램으로도 사용할 수 있습니다.
-
-h
-
--show
-
--output OUTPUT
-
--hash HASH
추가적으로 보여줄 설정과 암호화할 수준을 정해둘 수도 있습니다.
아바타 생성
파이썬 코드로도 생성하고 출력할 수 있습니다.
import pagan
pagan 라이브러리를 가져옵니다.
input_name = 'blog'
img = pagan.Avatar(input_name, pagan.SHA512)
암호화하여 프로필 사진으로 만들 문자열을 지정합니다.
MD5 = pagan.generator.HASH_MD5
SHA1 = pagan.generator.HASH_SHA1
SHA224 = pagan.generator.HASH_SHA224
SHA256 = pagan.generator.HASH_SHA256
SHA384 = pagan.generator.HASH_SHA384
SHA512 = pagan.generator.HASH_SHA512
기본적으로 암호화는 md5로 수행되지만, SHA1, SHA224, SHA256, SHA384,SHA512로도 할 수 있습니다.
내부적인 코드로 보면 hashlib를 사용합니다.
img.show()
컴퓨터에 설치되어 있는 이미지 뷰어 프로그램으로 프로필 사진을 보여주게 합니다.
out_path = 'output/'
filename = input_name
img.save(out_path, filename)
최종적으로 output 폴더에 입력한 문자열이 파일 이름으로 저장됩니다.
Written on May 31, 2019