🗂️ Etc

    [Java] 원본 값의 길이와 암호화 된 값의 길이가 같은 암호화 방식

    요구조건 사내에서 보안 장비에 탐지되는 개인정보를 가리는 목적으로 암호화를 하는 작업이 필요했다. 걸림돌이 있다면 기존에 사용하던 값의 Format이 10자리로 이루어진 값이었다. 그렇기에 Format 형식과 일치 시키려면 암호화 된 값의 길이도 10자리여야 한다는 특징이 존재했다. 결론만 말하자면 XOR 암호화 방식을 이용하면 된다. 우여곡절 끝에 알아냈기 때문에 기록해보려고 한다. AES AES는 위 요구조건의 암호화가 불가능하다. AES 암호화 방식은 대칭키 암호화 방식(암복호화에 같은 키 사용)이다. AES128, AES192, AES256에서 뒤의 숫자는 암호화 된 길이(비트)를 뜻한다. 128비트(16 바이트), 256비트(32 바이트)를 뜻한다. 이 말은 암호화 된 결과가 무조건 16 바이트..

    NAVER DEVIEW DAY 2 - 런타임 데드 코드 분석 도구 Scavenger

    NAVER DEVIEW DAY 2에 참가하여 12시즈음부터 총 4개를 들었다. 그 중에 Scavenger가 제일 흥미로웠던 세션이었고 동시에 가장 많은 인원이 들어온 세션이었다. 시작 전 10분전부터 만석이었고 자리를 찾는 사람들이 많았는데, 이전 세션부터 계속 앉아 있었기 때문에 다행히 편하게 들을 수 있었다. 어떻게 죽은 코드를 발견해줄까? 라는 컨셉부터가 듣지 않아도 너무 흥미로웠다. 이제는 NAVER 사내에서만 사용되던 Scavenger를 세션 마지막에 Private에서 Public으로 전환해서 모두가 이용 가능하다. GitHub - naver/scavenger: a runtime dead code analysis tool a runtime dead code analysis tool. Contri..

    ChatGPT로 공룡 그려 달라고 하기

    html에 canvas 태그를 이용해서 공룡 그림 그려줄 수 있어? 당근 빠따라며 그려주기 시작하는 ChatGPT. 코드 써내려가는 것을 보고 감탄을 금치 못함. 이건 공룡이 아니잖아. 이건 그냥 원이랑 삼각형이야. 맞는 말이야. 실수 한거 사과할게. 여기 다시 그려줄게. 너 뭐 문제있어? 이게 공룡처럼 보여? 또 미안하다며 자긴 그냥 컴퓨터라며 가불기(가드 불능 기술) 시전하는 ChatGPT. 그리고 다시 그려주는데.. 일부러 놀리는 거 같은 느낌이 들긴하지만 그리는 데 소질 없다고 까고 종료

    안드로이드 웹뷰 카카오 공유하기 기능 멈춤 현상

    PC나 모바일 웹 환경에서는 카카오 공유하기가 정상적으로 작동하지만 웹뷰로 카카오 공유하기 기능을 이용할 때 작동을 하지 않는다. 공식 카카오 Q&A에 올라온 코드도 정상적으로 작동하지 않아서 이곳저곳 긁어서 커스터마이징했다. 올바른 구현은 아닐 수 있지만 개인적으로 정상 작동해서 쓰는 중이다. 언어는 Kotlin이며 webViewClient에 shouldOverrideUrlLoading를 오버라이딩해서 구현한다. MainActivity.kt val myWebView: WebView = findViewById(R.id.webView) myWebView.settings.run { // 웹뷰 자바스크립트 허용 javaScriptEnabled = true javaScriptCanOpenWindowsAutoma..