본문 바로가기

카테고리 없음

npm install md5 (md5 단방향 암호화 기법)

 

npm install md5

 

cmd에서 test

C:\Users\piaoc>npm install md5

 

cmd > node

node

 

C:\Users\piaoc>var md5 = require('md5);

 

md5('a');

 

//md5 비번 암호화
let md5 = require ('md5');

 

app.post('/login', function (req , res) {
    
    let userId = req.body.id;
    let userPw = req.body.pw;

    console.log(userId);
    console.log(userPw);

    let sql = "select * from login";
    conn.query(sql, function (err,rows,fields) { 
        if(err){
            console.log(err);
        }
        
        //console.log(rows);
        for(let i=0; i<rows.length; i++){
            if(rows[i].userid == userId){
                
                console.log(md5(rows[i].userpw));
                console.log(md5(userPw));

                if(md5(rows[i].userpw) == md5(userPw)){
                    
                    console.log('로그인 되었습니다.');
                    req.session.userid = userId;
                    return res.redirect('/');
                }
                else{
                    console.log('비밀번호가 틀렸습니다.');
                    res.send('비밀번호가 틀렸습니다.');

                }
            }
            // else {
            //     res.send('아이디가 틀렸습니다.');      
            // }
        }
    })
})

https://md5.web-max.ca/

 

 

MD5 hash decrypter / decoder: Reverse lookup MD5 hashes online with this tool

Tools to decode / decrypt / reverse lookup MD5 hashes This tool searches multiple MD5 rainbow tables for matches to a large number of MD5 hashes. MD5 is a hashing algorithm and therefore is technically not encryption, but hashes can be resolved and reverse

md5.web-max.ca

 

 

md5 복호화 (string이 123이라는것을 확인완료)

그래서 salt를 추가

md5 + salt

> var salt = 'cscsc5cs6cvhg3v223';
undefined
> var pwd = 'a';
undefined
> md5(pwd+salt);
'4699744e8321b7c8ece91b548fa29a42'
>

 

var salt = 'cscsc329320nd-do323';
//로그인 post 처리
app.post('/login', function (req , res) {
    
    let userId = req.body.id;
    let userPw = req.body.pw;

    console.log(userId);
    console.log(userPw);

    let sql = "select * from login";
    conn.query(sql, function (err,rows,fields) { 
        if(err){
            console.log(err);
        }
        
        //console.log(rows);
        for(let i=0; i<rows.length; i++){
            if(rows[i].userid == userId){
                
                console.log(md5(rows[i].userpw + salt));
                console.log(md5(userPw + salt));

                if(md5(rows[i].userpw + salt) == md5(userPw + salt)){
                    
                    console.log('로그인 되었습니다.');
                    req.session.userid = userId;
                    return res.redirect('/');
                }
                else{
                    console.log('비밀번호가 틀렸습니다.');
                    res.send('비밀번호가 틀렸습니다.');

                }
            }
            // else {
            //     res.send('아이디가 틀렸습니다.');      
            // }
        }
    })
})

 

md5 + salt된 출력

382c554614ae695f7968ca35453f05c7