2016-12-01 2 views
0

업데이트 응답 돌아 가기 Node.js를 보내기 전에암호 해독 데이터베이스에서

내가 그것을 decrypt 후 응답 내부 값을 다시 배치되는 데 실제 문제. 나는 그것을 조작 한 후에 response에 값을 다시 두는 법을 알아야합니다. 내 angular2 응용 프로그램의 node 측면에서

배경

은 내가 postgres 데이터베이스에 만든 api 전화에서 response를 보낼 준비를하고있다. response의 값 중 하나 인 decrypt이 필요합니다. 워드 프로세서에서 그것은

   if (err) { 
        console.error(err); 
        res.status(500).send(); 
        return done(); // always close connection 
       } else { 
        if (result.rowCount > 0) { 
         decrypt(result.rows[0].myvalue); 
         let user = result.rows[0]; 
         res.send(user); 
         return done(); // always close connection 
        } 

문제

나는 그것이 다시 보내기 전에 응답 값 중 하나를 조작하는 방법을 알아낼 수 없습니다,이 같은 response를 처리 할 수 ​​있었다. 이 경우 decrypt(user.myvalue); 또는 console.log(user.myvalue); 암호화 된 myvalue가 표시되는 경우가 userdecrypt(result.rows[0].myValue);

에 배치하기 전에 암호를 해독합니다. response으로 끝나기 전에 myvalue의 암호를 해독해야합니다. 나는 decrypt을 좋아할 수있다.

decrypt (result.rows [0] .ssn);

질문

어떻게해야합니까는 responsedecrypted 다시 전송되는 사용자 object에 너무 decrypt(result.myvalue);decrypt이?

솔직히 말해서이 모양이 어떻게 작동하는지 혼란 스럽습니다.

if (result.rowCount > 0) { // if greater than 0? Should it not always be greater than 0: 
let user = result.rows[0]; 

응답이 정상적으로 처리됩니다. node 쪽에서 문제없이 데이터에 액세스 할 수 있습니다. 나는 그것이 그것을 저장할 때 그것을 통해 반복되는 방법을 모르겠다. result.rows[0];이 나에게 단 하나의 입장으로 등장하기 때문에? 나는 그것이 단지 하나의 위치에 전체 응답을 저장하고 있다고 생각한다. [0]; ??

그래서이 그래서 난 그냥 가치 decrypt에 필요에 다시 넣어 myvalue

console.log(result.rows[0].myValue);

출력

답변

1

당신이 시도 할 수 있습니다.

result.rows[0].myvalue = decrypt(result.rows[0].myvalue); 

그것은 decrypt()을합니다 myvalue.

+0

예 해독에 문제가 없습니다.문제는 내가/ – wuno

+1

예를 들어 응답 후에 그것을 다시 배치하는 것입니다. 응답에서 해독 된 값을 배치합니다. 이 솔루션을 사용해보십시오 – AJS

+0

록 스타 감사합니다. – wuno