일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- jQuery
- 백준 알고리즘
- 김성엽 대표님
- IF문
- 사칙연산
- xss game 풀이
- xss game
- lord of sql injection
- window
- suninatas 풀이
- Pwndbg
- 객체
- python
- 배열
- htmlspecialchars
- github
- property
- sql injection
- 포인터
- 메소드
- object
- element 조회
- burp suite
- 조건문
- document
- 함수
- 백준 파이썬
- blind sql injection
- 파이썬
- 자바스크립트
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