Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 암호화
- Ajax
- 웹소켓
- HTML
- jQuery
- EC2
- tiles.xml
- RDS
- SQL
- 알고리즘
- 도커
- docker
- Spring
- 웹게임
- autowired
- 배포
- JSP
- express
- Servlet
- 비트코인
- websocket
- CSS
- AWS
- model1
- node.js
- Cookie
- JavaScript
- phaser
- PL/SQL
- 블록체인
Archives
- Today
- Total
記錄
생활코딩_Node.js) 암호화(md5 + salt // sha256) 본문
이번 강의에서는 암호화에 대해서 배웠다. 설계상의 결함으로 인해 더 이상 암호화에 md5를 사용하진 않는다고 한다. 하지만 강의에서 md5를 이용해서 강의를 했기 때문에 일단 md5를 포스팅 한다. 다만 강의 후반부에서 md5대신 sha256을 사용하며 이젠 md5를 사용하지 않고 sha를 사용해야 한다고 하는데 이것 역시 변할 수 있다며 언급한다. sha256을 쓰려면 아래 코드에서 md5를 sha256으로만 바꿔주면 작동한다. 복호화 관련해서 아무래도 md5가 너무 쉽게 뚫리게 되어서 더 이상 md5를 사용하지 않는 것 같다.(그냥 근거없는 내 추측이다)
salt는 md5만 단순히 거치게 되면 해킹의 우려가 있어 소금을 치듯이 md5를 거치기전에 암호화할 정보에 붙이는 임의의 문자열을 의미한다. 다중 사용자의 경우에는 각각의 사용자에게 salt값을 하나하나 따로 지정해준다. 하나만 털리면 다 털리는 것을 방지하기 위함이다.
var express = require('express');
var md5 = require('md5');
var app = express();
app.get('/md5_test', function(req, res){
// 임의의 문자열인 salt를 설정
let salt = '!@#%#3141tdfsa!@#';
let pwd = '12345abc';
let sec_pwd = md5(pwd);
let final_pwd = md5(pwd+salt);
// 비교를 위해서 둘 다 출력
res.send('sec_pwd : ' + sec_pwd + ' // ' + 'final_pwd : ' + final_pwd);
});
app.listen(3003, function(){
console.log('Connected 3003 port!!!');
});
1. md5 설치
npm install md5
2. 모듈 로드 후 장착
var md5 = require('md5');
3. 활용
let sec_pwd = md5(pwd);
let final_pwd = md5(pwd+salt);
'Web > Node.js' 카테고리의 다른 글
생활코딩_Node.js) jade (extends) (0) | 2018.08.09 |
---|---|
생활코딩_Node.js) 암호화(pbkdf2) (0) | 2018.08.05 |
생활코딩_Node.js) session (0) | 2018.08.05 |
생활코딩_Node.js) cookie 암호화 (0) | 2018.08.03 |
생활코딩_Node.js) cookie 생성, 수정 (0) | 2018.08.01 |
Comments