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