프로그래밍/General 55

Youtube 자동완성 연관 검색어를 가져오는 방법

다음 2개의 API들을 사용하면 유튜브의 연관 검색어를 쉽게 얻어올 수 있다. 둘 다 뭐 비슷하니 편한 걸로 쓰면될듯! Google API 예시로 지금 재밌게 즐기고있는 디아블로를 넣어보았다. Endpoint /complete/search Request method GET http://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q=디아블로&hl=ko Query parameters 이름 설명 옵션 client / output 브라우저 json결과를 얻으려면 firefox xml 결과를 얻으려면 toolbar q 쿼리 키워드 q=디아블로 jsonp JSONP 콜백 함수 설정 자신의 JSONP 콜백함수명 ds 서비스 제한, 없을 경우 구글 ..

python이 Microsoft Store를 열때 해결방법

python >> Python python이라는 명령어를 치면 뜬금없이 Microsoft Store가 열렸다. microsoft store에서 Python을 받으려다 실패한것이 화근이었는데, 환경변수에는 Windows Apps가 있어서 이 안에 python을 실행시키고 있는 것이다. 이를 해결하기 위해서는 해당 경로로 들어가서 python이나 python3등 파일을 제거해주어야한다. 다음 명령어를 터미널에 쳐서 지워주자. Remove-Item $env:USERPROFILE\AppData\Local\Microsoft\WindowsApps\python*.exe

프로그래밍/General 2022.05.28 (1)

자주쓰는 정규식 패턴 (Email, IP, Youtube, URL...)

연속 3번 클릭하면 정규식 전체가 복사됩니다. IP 주소 (IPv4) ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ IP 주소 (IPv6) ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ IP 주소 (IPv4, IPv6 포함) ((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\..

[Github] 원격서버에서 git 권한 없음 해결방법 (Permission denied (publickey))

Cloning into 'xxx'... Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. SSH를 통해 git을 이용하기 위해서는 올바른 공개키가 등록되어있어야한다. 보통 본인 컴퓨터에서 할때는 문제가 없지만, 원격지에서 pull을 땡기거나 할때 위와 같은 오류처럼 Repository 액세스 권한이 없다며 오류를 뱉게 된다. 현재 사용중인 SSH 파악하기 먼저, 원격지 서버에서 사용중인 SSH키가 어떤 것인지 알아야하고, 해당키가 github의 어느 Repository에 권한이있..

해싱, 암호화에 대한 정리

# 단방향 암호화 (One-way Encryption) *단방향 알고리즘? 암호화했을때 다시 평문으로 복호화할 수 없는 암호화 알고리즘이다. 해시함수 (Hash Function) / 해시 알고리즘 (Hash algorithm) 임의 길이의 메세지를 고정 길이의 해시 값으로 변환시켜주는 단방향성 함수, 알고리즘 아주 작은 확률로 입력값이 다름에도 출력값이 같은 경우가 발생하는데, 이를 해시 충돌이라고 한다. 이 충돌 확률이 낮을 수록 좋은 함수로 평가된다. 해시값, Fingerprint, Message Digest 모두 같은 말이다. 단방향성 해시 함수의 출력값이다. 대표적인 단방향 알고리즘 MD5 임의 길이의 메세지를 512bit 단위로 처리해 128bit로 암호화 한다. 애국가 가사 4절 전부를 MD5..

SSH 인증키 생성 및 간편 접속방법

# SSH Keygen으로 SSH 키 만들기 ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519__ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa__ -f 지정된 파일 위치/이름으로 키를 생성한다. -t 지정한 암호화 알고리즘을 통해 키를 생성한다. dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa 값이 간으하다. -b 생성할 키의 비트 수를 설정한다. 일반적으로 3072bit 정도면 충분하다. Passphrase란? ssh-keygen을 통해 키를 생성할때 passphrase를 묻는다. 비밀번호인데... 비밀키가 복사되어서 사용된다고 해도 passphrase를 입력하지 않으면 사용할 수 없으므로, 보안성을..

암호학에서 Salt란? 소금이 필요한 이유

# 솔트 (Salt) 해시 함수를 사용하여 단방향 암호화를 했을때, 언제나 같은 값을 같게 된다. 해커는 잘 알려진 해시값의 원문을 저장해두고 쉽게 원문을 유추할 수 있다. (이렇게 해시함수를 사용하여 만들어낼 수 있는 값들을 저장해둔 테이블을 레인보우 테이블이라고 한다.) 솔트는 이러한 꼼수를 피하기 위해 해시된 값에 추가적으로 들어가는 랜덤 데이터다. 비밀번호 "qwerty1234"를 SHA-256으로 해싱하면 아래와 같은 값이 나온다. 17F80754644D33AC685B0842A402229ADBB43FC9312F7BDF36BA24237A1F1FFB 이제 안전하겠지? 안타깝게도 Hash값을 RainbowTable에 넣어보면 순식간에 풀려버림 0ㅇ0 그래서 해시하기전에 임의의 랜덤 데이터 "LOU"를..