본문 바로가기
반응형

typescript16

[TypeScript] Bcrypt를 이용한 비밀번호 해쉬화(암호화) 회원가입을 할 때 데이터베이스에 비밀번호 같이 보안에 민감한 정보를 그냥 저장하면 안되고 암호화해서 저장하는게 안전하다. node.js에서는 주로 Bcrypt를 사용해서 비밀번호 해쉬화를 해 저장한다. 해쉬화는 단방향으로 해쉬 알고리즘을 이용하여 비밀번호를 암호화시키며 당연히 단방향이라 복구는 불가능하다. 다시 말하면 한쪽 방향으로만 암호화를 하는 단방향 암호화이기 때문에 암호화는 가능하지만 복호화는 불가능하다. 기존 해시 함수에서는 무차별 대입 공격(고성능 GPU를 이용해 무차별적으로 해시함수를 대입해 같은 digest를 찾는 공격)에 취약했는데 bcrypt는 salting 방식을 통합하여 취약점을 보완했다. 임의의 salt 값을 덧붙여 hash 함수를 진행하기 때문에 같은 비밀번호여도 다른 diges.. 2023. 12. 15.
[Express]ExpressJS란? Express는 Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크이다. Node.js의 등장으로 원래는 브라우저 안에서만 쓰이던 자바스크립트가 브라우저 바깥에서도 사용할 수 있게 되었다. 따라서 자바스크립트로 서버도 만들 수가 있게 되었는데 이러한 개발자들이 서버를 쉽게 구성할 수 있게 만든 프레임워크가 바로 Express라고 할 수 있다. 상당히 빠르고 유연하며 개방적이기 때문에 초심자들이 많이 선택하는거 같다. 기본적으로 프레임워크 안에 웹 어플리케이션 서버 구축을 위한 각종 라이브러리와 미들웨어가 내장되어 있기 때문에 개발하기가 편하고 가장 대중화 되어 있어 배우기가 쉽다. 그럼 express를 시작해보자. nodejs가 깔려있다는 가정하에... 먼저 적당한 디렉토리를 연다. 그리고 터미널.. 2023. 12. 6.
[React] Vite로 React 프로젝트 세팅하기 강의를 듣고 세팅하는 방법을 기록해두는 포스팅.. Vite는 프론트엔드 개발을 더 용이하게 해주는 일종의 개발 툴이라고 할 수 있다. vite는 go로 작성된 esbuilder를 사용하기 때문에 매우 빠른 빌드 속도를 자랑한다. 먼저 새로운 vite 프로젝트를 생성해보자 npm create vite@latest 터미널을 열고 위 명령어를 실행한다. 프로젝트 이름을 정하고 프레임워크를 선택하라고 나오는데 나는 React를 선택할 거니까 React를 골라준다. 그 다음엔 자바스크립트를 사용할지 타입스크립트를 사용할지 고르라는 선택지가 나오는데 난 Rust typescript 컴파일러인 SWC가 포함된 두번째 옵션을 선택했다. 그럼 프로젝트가 생성이 되었다. 위 설명대로 프로젝트 경로로 이동해서 패키지들을 설.. 2023. 11. 17.
[Prisma] NextJS Prisma Error: EPERM: operation not permitted, unlink 'node_modules\.prisma\client\query_engine-windows.dll.node' 해결 어렵게 어렵게 기존 디비 연결을 걷어내고 prisma로 대체하고 있다. 간단한 model들로 실험해 성공한 뒤에 전체 디비 테이블들을 model로 작성하고 npx prisma generate 명령어를 치니... 이러한 에러가 떴다. 캐시도 지워보고 node_modules도 지우고 버전도 최신걸로 다시 설치해보고 했는데도 안됐는데 한 깃헙 이슈에서 해결 책을 찾을 수 있었다. https://github.com/prisma/prisma/issues/9184 EPERM: operation not permitted, unlink '...node_modules\prisma\query_engine-windows.dll.node' · Issue #9184 · prisma/prisma Bug description Fo.. 2023. 10. 27.
반응형