반응형
하다가 너무 헷갈려서 그냥 정리하는게 맞겠다~ 싶음.
정리해야 할 함수들
- chr()
- ord()
- bytes.fromhex() / .hex()
- base64.b64encode() / .b64decode
- long_to_bytes() : long -> byte string
- bytes_to_long() : byte string -> long
시작해보자.
1. chr() 함수
하나의 정수를 인자로 받고, 해당 정수에 해당하는 유니코드 문자를 반환한다.
chr(97) = 'a'
2. ord() 함수
하나의 문자를 인자로 받고, 해당 문자에 해당하는 유니코드 정수를 반환한다.
ord('a') = 97
이정도는 오케이. 그런데 그 다음부터 헷갈리더라.
3. bytes.fromhex()
hex 숫자를 인자로 받고, bytes 형식으로 변형함.
예) '\x00\x01\x02 ... '
4. bytes.hex()
바이트 형식 문자열을 16진수 hex로 바꿔줌.
일반 문자의 경우,
그냥 hex 값으로 출력되는 것을 볼 수 있다.
정리
- '\x'가 붙은 값: \x을 떼고 출력해줌.(당연함. hex값을 byte형식으로 나타낸거니까..)
- 일반 문자: hex값으로 출력함.
5. long_to_bytes()
long형의 숫자를 bytes 형식의 string으로 나타낸다.
이렇게 코드를 짜보면
이런식으로 bytes string으로 출력되는 것을 볼 수 있다.
6. bytes_to_long()
위와 반대의 과정이다.
반응형
'security > Crypto' 카테고리의 다른 글
[CryptoHack] Diffie-Hellman: Export-grade 풀이, SageMath 사용해보기 (1) | 2024.07.02 |
---|---|
[CryptoHack] Diffie-Hellman: Parameter Injection 풀이 (2) | 2024.07.01 |
인코딩 & 디코딩 | Base64에 대하여... (0) | 2023.07.17 |
암호 관련 수학 공부 | 확장유클리드 알고리즘 - 2 | Extended Euclidean Algorithm - 2 (0) | 2023.07.12 |
암호 관련 수학 공부 | 확장유클리드 알고리즘 | Extended Euclidean Algorithm (0) | 2023.07.11 |