본문 바로가기

🔷프로그래밍/🔸파이썬

파이썬 - 점자 암호 프로그램

암호화, 복호화 함수

n,t,u="1234567890abcdef","⠿⠾⠽⠼⠻⠺⠹⠸⠷⠶⠵⠴⠳⠲⠱⠧","utf-8"
enip=lambda m:m.encode(u).hex().translate(str.maketrans(n,t))
deip=lambda m:bytes.fromhex(m.translate(str.maketrans(t,n))).decode(u)

파일 암호화 코드

msg = input("암호화 > ")
n,t,u="1234567890abcdef","⠿⠾⠽⠼⠻⠺⠹⠸⠷⠶⠵⠴⠳⠲⠱⠧","utf-8"
enip=lambda m:m.encode(u).hex().translate(str.maketrans(n,t))
deip=lambda m:bytes.fromhex(m.translate(str.maketrans(t,n))).decode(u)

dot = ([pos for pos, char in enumerate(msg) if char == "."][-1]) ; amsg = (msg[0:dot]) ; bmsg = (msg[dot:len(msg)])
with open(amsg+".in"+bmsg, 'w', encoding="UTF-8") as file:
    for name in open(msg, 'r', encoding="UTF-8").readlines():
        file.write(enip(name))

파일 복호화 코드

msg = input("복호화 > ")
n,t,u="1234567890abcdef","⠿⠾⠽⠼⠻⠺⠹⠸⠷⠶⠵⠴⠳⠲⠱⠧","utf-8"
enip=lambda m:m.encode(u).hex().translate(str.maketrans(n,t))
deip=lambda m:bytes.fromhex(m.translate(str.maketrans(t,n))).decode(u)

dot = ([pos for pos, char in enumerate(msg) if char == "."][-1]) ; amsg = (msg[0:dot]) ; bmsg = (msg[dot:len(msg)])
open(amsg+".de"+bmsg, 'w', encoding="UTF-8").write(deip(open(msg, 'r', encoding="UTF-8").read()))

암호화, 복호화 실행

- 암호화 전 문자

가나다라마바사
ABCDEFG012345

 

- 암호화 된 문자

⠺⠸⠹⠼⠹⠼⠹⠶⠹⠽⠽⠵⠾⠧⠾⠧⠺⠷⠹⠶⠹⠶⠺⠿⠺⠱⠾⠱⠹⠼⠺⠷⠹⠽⠹⠼⠺⠧⠹⠾⠹⠷⠾⠱⠺⠽⠺⠧⠺⠲⠾⠧⠺⠻⠺⠱⠹⠼⠹⠾⠹⠷⠾⠧⠼⠼⠽⠿

'🔷프로그래밍 > 🔸파이썬' 카테고리의 다른 글

파이썬 - pyexe.exe  (0) 2021.06.16