분류 전체보기

    [Node.js] crypto, bcrypto

    1. 암호화 단방향 양방향 암호방식 단방향은 복호화해서 원래의 값을 알수 없고 양방향은 복호화해서 원래의 값을 알수 있다. 그렇기 때문에 단방향 복호화해서 원래의 비밀번호는 알수 없게 하고 복호화해서 암호를 해독한다. 네이버 페이지를 보면 비밀번호 찾기를 시도할때 비밀번호를 알려주지 않고 비밀번호 변경을 시켜준다. 2. 복호화 복호화는 암호문을 편문으로 변환하는 과정 부호화(인코딩)된 데이터를 부호화 되기전 형태로 바꿔서 사람이 읽을수 있는 형태로 되돌려 놓는것 3. 단방향의 비교 검증 방법 데이터 베이스에 저장된 암호화 로그인할때 입력받은 비밀번호를 단방향으로 암호화를 통해 비교하면 기본의 비밀번호는 저장되지 않고 암호화된 문자열로만 비교시킨다. 단방향 암호화는 해쉬 알고리즘을 사용해서 문자열을 고정된..

    [Go] switch문

    1. switch문 기본형태 switch 비굣값{ case 값1: 문장 case 값2: 문장 default: 문장 } 예제) package main import "fmt" func main(){ a:=3 switch a { case 1: fmt.Println("a == 1") case 2: fmt.Println("a ==2") case 3: fmt.Println("a ==3") default: fmt.Println("a>3") } } //a ==3 switch문을 사용하는경우 : if문으로 썼을때 조건이 복잡해 보이는 경우 편하게 하기 위함 if문과 switch문중 더 편한걸 선택해서 사용하면 된다. 2. switch 초기문 switch도 if문과 같이 초기문을 써줄수 있고 쓰는 방식도 같다. switc..

    [Node.js] access token, refresh token 을 활용하여 로그인 유지시키기

    1. access token, refresh token 을 활용하여 로그인 유지시키기 // express, dotenv, fs, jsonwebtoken , express-session, mysql2 // 개발용으로 nodemon // 모듈 설치 //fs 모듈 가져오기 const fs = require("fs"); //express 모듈 가져오기 const express = require("express"); // .env파일을 사용하기 위해 가져오면서 설정 const dot = require("dotenv").config(); // jsonwebtoken 모듈 가져오기 const jwt = require("jsonwebtoken"); //express-session 모듈 가져오기 const session..

    [Node.js] 로그인 Access Token, Refresh Token

    1. Access Token (1) 이용자가 로그인 시도 (2) 서버에서 이용자를 확인하고 입장권 (토큰)발급 하는데 JWT토큰 인증정보를 payload에 할당하고 생성 (3) 생성한 토큰을 클라이언트에 반환해주고 클라이언트가 이 토큰을 가지고 있는다. (4) 클라이언트에서 권한을 인증 요청할때 이 토큰을 같이 보낸다. (5) 서버는 토큰을 확인하고 payload의 인코딩되어 있는 값을 디코딩해서 사용자의 권한을 확인하고 (입장권이 맞는지) 데이터를 반환한다. (6) 만약에 토큰이 정상적인지 확인하고 (토큰이 썩었는지 입장권 시간이 지났는지) (7) 날짜가 지난 토큰이면 새로 로그인 시킨다. 토큰 재발급 2. Refresh Token Access token만 쓰면 인증보안에 취약할수 있고 다른사람이 악의..

    [키보드워리어] 6.27~7.15 SNS 홈페이지 만들기

    클론 코딩이 아닌 처음으로 웹페이지를 기획하고 개발까지 했다 다음 프로젝트를 할때에는 중간중간 내가 당시 느꼈던 감정들을 어딘가 적어놓으면 좋겠다라는 생각이 들었다. 개발을 하면서 느꼈던점은 기획의 중요성이다. 팀원과 나 두명이서 프로젝트를 진행했는데 큰틀의 컨셉만 짜고 나머지는 일단 코딩하면서 생각하자라는식으로 했다. 이렇게 진행하니 페이지 하나하나 완성을 할때마다 다음 내가 뭘할지 모르겠고 완성한페이지에 추가적으로 기능이나 디자인 요소를 자꾸 추가하게됬다. 다음엔 기획도 꼼꼼하게 하고 진행해야될것같다. 프로젝트 중간에 팀원과 크게 안맞는 부분도 없어 부딪히는 부분도 없었고 우리는 공부가 목적이었기 때문에 서로가 작성한 코드를 처음부터 끝까지 보며 코드리뷰, 디버깅도 같이 진행했다. 이프로젝트를 하면서..

    [프로그래머스 level 1 JS풀이] K번째 수

    https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(array, commands) { var answer = []; for(let i = 0 ; ia-b); answer.push(sliceArr[commands[i][2]-1]) } return answer; } k번째 수를 구하기 위해 slice로 해당 구간만큼 자른 배열을 sliceArr로 할당해줬다. 그다음 sort를 통해 배열을 정렬하고 index에 해당하는 ..