일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- document
- object
- suninatas 풀이
- sql injection
- window
- property
- 조건문
- 객체
- element 조회
- IF문
- 함수
- xss game
- 포인터
- 백준 알고리즘
- github
- jQuery
- 사칙연산
- burp suite
- 백준 파이썬
- 김성엽 대표님
- htmlspecialchars
- python
- Pwndbg
- blind sql injection
- 배열
- 메소드
- lord of sql injection
- 자바스크립트
- xss game 풀이
- 파이썬
Archives
- Today
- Total
power-girl0-0
XOR을 이용한 암호화 구현하기 본문
728x90
XOR을 이용한 암호화, 복호화
앞에서 구현한 암호화, 복호화를 활용하여 XOR을 구현해보자.
XOR을 하기 위해서는 key가 필요하며, key는 임의로 지정해주면 된다.
또한 암호화와 복화화 과정이 같기 때문에, 아래 소스에서는 enc_xor함수로 표현하였다.
^연산자는 XOR연산을 해주는 연산자이다.
소스코드
def enc_xor(msg,key):
msg_size = len(msg)
key_size = len(key)
enc = bytearray()
for i in range(msg_size):
msg_xor = msg[i]^key[i%key_size] # i%key_size를 통해 key길이가 초과하는 것을 방지하였다.
enc.append(msg_xor)
return enc
def main():
msg = 'i love you'
key = 'hisecure'
enc_msg = enc_xor(msg.encode(), key.encode())
print(enc_msg)
dec_msg = enc_xor(enc_msg, key.encode())
print(dec_msg.decode())
main()
결과
728x90
'암호 프로토콜' 카테고리의 다른 글
requests 모듈 (0) | 2021.03.18 |
---|---|
시저 암호(Caesar cipher) 구현하기 (0) | 2021.03.11 |
간단한 암호화, 복호화 만들기 (0) | 2021.03.11 |
아나콘다 설치하기 (0) | 2021.03.11 |
cronb 예제 (0) | 2020.10.27 |
Comments