Chapter01/Open API 6

[NCP API] 개인 정보 암호화 방식

민감한 개인정보를 DB에 암호화해서 저장하기 위해서NCP decrypt API를 사용했다. 암호화랑 복호화가 모두 서버측에서 수행하는 형식이라사용자는 데이터를 보내기만 하면 된다 encrypt : 평문 데이터를 API로 보내면 지정된 키로 ncp가 암호화해서 암호화된 데이터를 반환해줌decrypt : 암호문을 API로 보내면 내부 키로 복호화 후 평문을 반환해줌 시그니처생성 참고 https://dev-emma-dev.tistory.com/281 [ NCP API ] encrypt / decrypt, signature 생성 예시 코드NCP (Naver Cloud Platform) API를 사용하려면요청 인증을 하기 위해서 서명이 필요한데 HMAC-SHA256를 기반으로한 시그니처를 사용한다. (이..

Chapter01/Open API 2025.06.09

[ NCP API ] /encrypt 예시코드, /decrypt 예시코드

다른 글들에서 내용은 이미 설명했고,실제로 사용한 코드! public String encrypt(String plainText) throws Exception { String timestamp = String.valueOf(System.currentTimeMillis()); String urlPath = "/keys/v2/" + keyTag + "/encrypt"; String signature = generateSignature(timestamp, urlPath); String base64PlainText = Base64.getEncoder().encodeToString(plainText.getBytes(StandardCharsets.UTF_8)); Map requestBo..

Chapter01/Open API 2025.06.02

[ NCP API ] encrypt / decrypt, signature 생성 예시 코드

NCP (Naver Cloud Platform) API를 사용하려면요청 인증을 하기 위해서 서명이 필요한데 HMAC-SHA256를 기반으로한 시그니처를 사용한다. (이외에도 매번 accesskey, secretkey, timestamp 도 요구함) 이 중 아래 메서드에서 생성할 signature는 서버가 위조나 변조 없이 API를 정상적으로 요청되었는지검증하는 용도 public String generateSignature(String timestamp, String url) throws Exception { String method = "POST"; String space = " "; String newLine = "\n"; Strin..

Chapter01/Open API 2025.06.02

[ NCP SENS ] SMS 2Factor 인증

2차 인증으로 Google Authenticator를 사용하겠다고해서 QR생성하고 테스트한 내용을 전에 포스팅했는데NCP SENS API 사용해서 sms로 인증하는 방식을 사용하게되었다 참고 공식 링크SMS API ncp에서엑세스키, 시크릿키, 서비스 ID 를 ncp콘솔에서 발급받고,발신 번호도 등록해야한다 이런것들은 application.yml에 넣어놓고주입받아서 (@Value) 사용함 딱히 신경쓸건없고 저기 저 시그니처 생성하는게현재 시간(timestamp)이랑 method, url, accesskey, secretkey를 가지고조합해서 만드는것임 코드 참고하세용 public void sendSms(String recipientPhone, String code) throws Exc..

Chapter01/Open API 2025.05.22

[ OpenStreetMap nominatim API ] 위도 경도로 지역명 가져오기

쩐에 썻던 OpenWeatherMap API는 위도 경도를 가지고 날씨 정보를 가지고옴고객사는 여기에 지역명도 표시해주실 원했당   OpenWeatherMap API 도 지역명을 구할 수 있으나, 정확하지 않음 서울특별시 동대문구 용두동 의 위도, 경로를 입력했으나  "name": "Kwanghŭi-dong",  식으로 지역명을 가지고왔고,  영등포구 문래동의 위도,경도를 입력했을 땐 "name": "Kwangmyŏng", 으로 가져옴,,  정확하지 않을 뿐만 아니라영어도 아니라 이걸 그대로 사용하는건 불가능!    이런식으로 쓸거고 고려할 것1. 위도와 경도를 가지고 정확한 지역명을 가지고와야함 (행정구역명 까지만 필요함)2. 무료여야함 두 가지 조건으로 써칭해봤을때 OpenStreetMap nomin..

Chapter01/Open API 2025.02.12

[ OpenWeatherMap API ] 위치 기반 날씨 정보 제공 글로벌 API

접속한 위치 기반으로현재 날씨 정보를 가져옴    위 화면 중서울특별시 부분을 제외한 날씨 받아오는 부분 !! 을 구현하는데에 사용한  API임    공식 문서https://openweathermap.org/api?utm_source=chatgpt.com Weather API - OpenWeatherMapUlla OpenWeather AI assistant Chat with Ulla Ask her anything about OpenWeather productsopenweathermap.org    회원가입 하기     나는 현재 날씨만 궁금하므로무료인 Current Weather Data를 구독함.      Billing Plans에서 볼 수 있는결제한 내역.. (0원 이지만)       API Keys..

Chapter01/Open API 2025.02.11