반응형
노드JS: base64 인코딩된 문자열을 다시 이진으로 디코딩하는 방법은 무엇입니까?
저는 salt로 비밀번호 해싱을 구현하고 있었기 때문에 salt를 바이너리로 생성하고, 비밀번호를 해시하고, base64를 인코딩하여 salt를 데이터베이스에 저장했습니다.
이제 암호를 확인할 때 소금을 다시 이진 데이터로 디코딩하여 제공된 암호를 해시하고 base64에서 결과를 인코딩하여 데이터베이스에 있는 것과 일치하는지 확인해야 합니다.
문제는 소금을 다시 이진 데이터로 해독하는 방법을 찾을 수 없다는 것입니다.Buffer.toString 메서드를 사용하여 인코딩했지만 역기능이 없는 것 같습니다.
Node.js v6.0.0에서 생성자 메서드는 더 이상 사용되지 않으며 대신 base64 인코딩 문자열에서 새 버퍼를 생성하기 위해 다음 방법을 사용해야 합니다.
var b64string = /* whatever */;
var buf = Buffer.from(b64string, 'base64'); // Ta-da
Node.js v5.11.1 이하의 경우
var b64string = /* whatever */;
var buf = new Buffer(b64string, 'base64'); // Ta-da
만약 당신이 깨끗해지고 싶다면, 당신은 확인할 수 있습니다.from
존재:
if (typeof Buffer.from === "function") {
// Node 5.10+
buf = Buffer.from(b64string, 'base64'); // Ta-da
} else {
// older Node versions, now deprecated
buf = new Buffer(b64string, 'base64'); // Ta-da
}
언급URL : https://stackoverflow.com/questions/14573001/nodejs-how-to-decode-base64-encoded-string-back-to-binary
반응형
'sourcetip' 카테고리의 다른 글
ElementName 바인딩에 실패했습니다. (0) | 2023.05.23 |
---|---|
목록(String) 또는 배열 또는 배열 목록 (0) | 2023.05.23 |
asp.net 에서 서버 캐시를 지우려면 어떻게 해야 합니까? (0) | 2023.05.18 |
jQuery를 사용하여 div에서 선택한 확인란 목록 가져오기 (0) | 2023.05.18 |
XElement와 XDocument의 차이점은 무엇입니까? (0) | 2023.05.18 |