출처 : https://blog.naver.com/PostView.naver?blogId=01075970528&logNo=222484380977 DB에 정보를 암호화해서 저장해야 한다. node js 암호화 모듈 중에서 유명한 crypto 모듈을 사용하기로 결정! 암호화해서 insert한 후에 조회할 때는 select 후에 복호화가 필요하니까 양방향 암호화 라고 할 수 있음 먼저 npm으로 모듈 설치- npm i -d crypto 그리고 소스 상단쪽에 require 해주시고 const crypto = require('crypto'); crypto 모듈을 사용하려면 알고리즘을 선택해야하는데 md5나 sha1은 뚫렸다고 함..(!) 내가 선택한 알고리즘은 aes-256-cbc 왜냐면 아래 블로..
출처 : https://velog.io/@dbadoy/Base64-Base58 Base64, Base58 Base64 Base64는 문자를 비트(8비트)로 바꾼 후, 6비트씩 나눠서 다시 표현한다. 예를 들어 abc 라면 ... ASCII 코드값 a(97) b(98) c(99) a 0 1 1 0 0 0 0 1 b 0 1 1 0 0 0 1 0 c 0 1 1 0 0 0 velog.io Oracle에서 PostgreSql 로 컨버전을 하며 암호화에 대한 내용을 정리하고자 한다,, 일단, 본인이 작업할 내용은 Function을 생성하여 Input String을 AES-256에 IV(Initial Vector)를 사용하여 암호화한 후, Base64방식으로 Encoding을 하여 Data를 저장할 예정이다. 암호화..
출처 : https://kldp.org/node/157451 aes 알고리즘 : 128 이중 암호화 vs 256 한번 암호화 -> 뭐가 더 강력할까요? | KLDP aes를 이용하여 128비트로 두번 암호화한 내용과 256비트로 한번만 암호화한 내용 중 어떤 것이 더 강력할까요? kldp.org 대개의 경우, 128 단일 암호화만 가지고도 충분합니다. http://csrc.nist.gov/groups/ST/toolkit/documents/aes/CNSS15FS.pdf 2003년의 CNSS Policy에 따르면 SECRET level까지는 AES 128만으로 충분하고, TOP SECRET은 AES 192 혹은 AES 256을 쓰라고 나와 있군요. 그럼에도 불구하고 AES 128 가지고는 만족을 못 하시겠다..
출처 : https://littlecarbb.tistory.com/entry/자주-쓰는-git-명령어-cli-1 [apps script] 구글 드라이브 폴더 내 파일리스트 추출 출처 : https://smartagent.blog/2018/07/16/gsuite05/ G Suite 사용법 #5 앱스 스크립트 활용 예시 모음 이번에는 구글 Apps Script를 배워보겠습니다. 우선 구글 Apps Script 소개를 봅시다. Many Google apps, one platform in t littlecarbb.tistory.com 폴더 리스트 만 가져오기 코드 재수정 -------------------------------------------------------------------------------..
출처 : https://smartagent.blog/2018/07/16/gsuite05/ G Suite 사용법 #5 앱스 스크립트 활용 예시 모음 이번에는 구글 Apps Script를 배워보겠습니다. 우선 구글 Apps Script 소개를 봅시다. Many Google apps, one platform in the cloud Increase the power of your favorite Google apps — like Calendar, Docs, Drive, Gmail, Sheets, and… smartagent.blog 해당 코드를 가지고 무한 루프를 돌며 서브 폴더를 가져오게 수정함. ---------------------------------------------------------------..
출처 : https://www.samsungsds.com/global/ko/support/insights/frameworks.html 웹 프론트엔드 프레임워크 개요 과거와 달리 최근에는 자바스트립트 진영에서도 프레임워크를 이용한 개발이 필수로 여겨지고 있습니다. 2017년까지만 해도 개발자들은 프로젝트에 Angular와 React 중 어느 것을 사용해야 하는지 여부를 주로 토론했으나, 2018년 이후 Vue.js라는 새로운 프레임워크에 대한 관심이 높아지고 있는 추세입니다. 본 아티클에서는 웹 프론트엔드 영역에서 주요 라이브러리와 프레임워크로 자리잡은 React와 Vue.js, Angular의 현재 상태와 향후 전망을 살펴보겠습니다. Angular 강력한 명령행 도구와 잘 정돈된 폴더 구조, 프로젝트 생..
D:\work\node>npm install http-request > mmmagic@0.5.1 install D:\work\node\node_modules\mmmagic > node-gyp rebuild D:\work\node\node_modules\mmmagic>if not defined npm_config_node_gyp (node "C:\P rogram Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\.. \..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Program Fil es\nodejs\node_modules\npm\node_modules\n..
출처 : https://gist.github.com/LeoHeo/7c2a2a6dbcf80becaaa1e61e90091e5d var, let, const 차이점은? var는 function-scoped이고, let, const는 block-scoped입니다. function-scoped와 block-scoped가 무슨말이냐? var(function-scoped) jsfiddle 참고주소 // var는 function-scope이기 때문에 for문이 끝난다음에 i를 호출하면 값이 출력이 잘 된다. // 이건 var가 hoisting이 되었기 때문이다. for(var j=0; j
MySQL 프로시저를 사용하다 보니 DB의 쿼리 질의 결과를 다시 재처리 하는 일이 생기더군요. 이럴때 Cursor를 이용해서 이를 처리해 주면 됩니다. 아래는 커서를 사용한 프로시저의 예 입니다. DELIMITER $$ DROP PROCEDURE IF EXISTS `디비명`.`프로시저명` $$ CREATE PROCEDURE `디비명`.`프로시저명_merge`( IN 변수1 VARCHAR(32), IN 변수2 INT ) BEGIN DECLARE m_필드값1 VARCHAR(32); DECLARE m_필드값2 VARCHAR(32); DECLARE m_Done INT DEFAULT 0; /* 여기에 커서를 정의 합니다. */ DECLARE m_Cursor CURSOR FOR SELECT 필드1, 필드2 FRO..