Express에서 bcryptjs 비밀번호 암호화 사용
이 기사에서는 Express에서 비밀번호 암호화를 위해 bcryptjs를 사용하는 방법을 주로 소개하고 참고용으로 제공합니다.
저는 며칠 전에 Express를 사용하여 작은 프로젝트를 개발했습니다. 로그인 및 등록 모듈을 개발할 때 비밀번호 암호화에 bcryptjs가 사용되었습니다. 내용을 요약하면:
bcrypt는 크로스 플랫폼 파일 암호화 도구입니다. 이를 통해 암호화된 파일은 지원되는 모든 운영 체제 및 프로세서에서 전송할 수 있습니다. 비밀번호는 8~56자 사이여야 하며 내부적으로 448비트 키로 변환됩니다.
데이터를 암호화하는 것 외에도 bcrypt는 기본적으로 원래 입력 파일을 삭제하기 전에 임의의 데이터로 세 번 덮어쓰므로 컴퓨터 데이터에 접근할 수 있는 누군가의 복구 시도를 방지합니다. 이 기능을 사용하고 싶지 않으면 비활성화할 수 있습니다.
bcrypt는 1993년 Bruce Schnell이 출시한 Blowfish 암호화 알고리즘을 사용합니다. 특히 bcrypt는 Paul Kircher의 알고리즘을 사용하여 구현됩니다. bcrypt와 함께 배포되는 소스 코드는 원본 버전에서 약간 수정되었습니다.
Express에서 bcryptjs를 사용하는 단계:
1. bcryptjs 모듈을 설치합니다.
npm install bcryptjs --save
2. 암호화가 필요한 모듈에 bcryptjs 라이브러리를 도입합니다.
var bcrypt = require('bcryptjs');
3. 등록할 때 HASH 값을 입력하고 데이터베이스에 삽입합니다.
var salt = bcrypt.genSaltSync(10);
5. 로그인할 때 HASH 값을 확인하고 데이터베이스에 삽입합니다.
router.post('/register', function(req, res, next){ // 从连接池获取连接 pool.getConnection(function(err, connection) { // 获取前台页面传过来的参数 var param = req.query || req.params; /*生成HASH值*/ var hash = bcrypt.hashSync(param.pwd,salt); // 建立连接 新增用户 connection.query(userSQL.insert, ["",hash,param.phone,"","","",0], function(err, result) { res.send(result); // 释放连接 connection.release(); }); }); });
위에서는 bcryptjs의 동기 사용을 사용합니다.
해시 비밀번호 생성:
router.post('/login', function(req, res, next){ // 从连接池获取连接 pool.getConnection(function(err, connection) { // 获取前台页面传过来的参数 var param = req.query || req.params; // 建立连接 根据手机号查找密码 connection.query(userSQL.getPwdByPhoneNumber, [param.phone], function(err, result) { if(bcrypt.compareSync(param.pwd,result[0].password)){ res.send("1"); connection.query(userSQL.updateLoginStatusById, [1,result[0].id], function(err, result) { }); }else{ res.send("0"); } // 释放连接 connection.release(); }); }); });
비밀번호 확인:
bcrypt.genSalt(10, function(err, salt) { bcrypt.hash("B4c0/\/", salt, function(err, hash) { // Store hash in your password DB. }); });
다음은 Bcrypt를 사용하여 데이터를 암호화하는 간단한 예입니다.
bcrypt.compare("B4c0/\/", hash).then((res) => { // res === true });
위는 모든 사람을 위해 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다. .
관련 기사:
nodejs의 캐시로 redis를 통해 구현된 캡슐화된 캐시 클래스기본 JavaScript를 사용하여 돋보기 효과 달성Vue Socket.io 소스 코드에 대한 자세한 분석위 내용은 Express에서 bcryptjs 비밀번호 암호화 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











파일 업로드를 처리하는 방법은 무엇입니까? 다음 글에서는 Express를 사용하여 노드 프로젝트에서 파일 업로드를 처리하는 방법을 소개하겠습니다. 도움이 되길 바랍니다.

PHP에서 비밀번호 암호화 및 보안 저장을 처리하는 방법은 무엇입니까? 인터넷의 급속한 발전으로 인해 사용자의 개인정보 보호와 데이터 보안이 중요한 문제로 대두되고 있습니다. 웹사이트 및 앱 개발자가 사용자 비밀번호를 안전하게 유지하는 것은 매우 중요합니다. PHP 언어에는 비밀번호 암호화 및 보안 저장을 처리하는 방법이 많이 있습니다. 이 문서에서는 개발자가 사용자 암호의 보안을 강화하는 데 도움이 되는 몇 가지 일반적인 기술과 모범 사례를 소개합니다. 해시 함수를 사용한 비밀번호 암호화 비밀번호를 저장할 때 일반 텍스트로 저장해서는 안 됩니다.

Express와 Laravel의 심층 비교: 최고의 프레임워크를 선택하는 방법은 무엇입니까? 프로젝트에 적합한 백엔드 프레임워크를 선택할 때 Express와 Laravel은 의심할 여지 없이 개발자들 사이에서 인기 있는 두 가지 선택입니다. Express는 Node.js 기반의 경량 프레임워크인 반면 Laravel은 PHP 기반의 널리 사용되는 프레임워크입니다. 이 기사에서는 이 두 프레임워크의 장점과 단점을 심층적으로 비교하고 개발자가 자신의 요구 사항에 가장 적합한 프레임워크를 선택하는 데 도움이 되는 특정 코드 예제를 제공합니다. 성능 및 확장성Expr

Express와 Laravel은 각각 JavaScript와 PHP라는 두 가지 주요 개발 언어의 뛰어난 프레임워크를 대표하는 매우 인기 있는 웹 프레임워크입니다. 이 기사에서는 개발자가 자신의 프로젝트 요구 사항에 더 적합한 프레임워크를 선택하는 데 도움이 되도록 이 두 프레임워크를 비교 분석합니다. 1. 프레임워크 소개 Express는 Node.js 플랫폼을 기반으로 하는 웹 애플리케이션 프레임워크로 개발자가 고성능 웹 애플리케이션을 빠르게 구축할 수 있도록 하는 일련의 강력한 기능과 도구를 제공합니다. 표현하다

PHP를 사용하여 비밀번호 암호화 기능을 구현하는 방법 비밀번호는 생활과 업무에서 자주 사용해야 하는 보안 확인 방법입니다. 사용자의 개인정보를 보호하기 위해서는 사용자의 비밀번호를 암호화하여 저장하여 범죄자에 의한 도난 및 악용을 방지해야 합니다. 이 기사에서는 PHP를 사용하여 비밀번호 암호화 기능을 구현하여 사용자 비밀번호의 보안을 강화하는 방법을 소개합니다. PHP에는 비밀번호의 해시 값을 생성하는 데 사용할 수 있는 매우 강력한 암호화 기능인password_hash()가 있습니다. 이 함수는 일반 텍스트 비밀번호와 비밀번호라는 두 가지 매개변수를 허용합니다.

인터넷의 발달과 함께 오픈 소스 관계형 데이터베이스 관리 시스템인 MySQL은 다양한 애플리케이션에서 널리 사용되고 있습니다. 중요한 보안 문제 중 하나는 MySQL 사용자 비밀번호의 암호화 및 저장입니다. 그렇다면 MySQL 비밀번호 암호화 방법은 무엇입니까? 이 기사에서는 심층 분석을 제공합니다. MySQL 비밀번호 저장 방법 MySQL 비밀번호 암호화 방법을 이해하기 전에 먼저 MySQL 비밀번호 저장 방법을 이해해 보겠습니다. MySQL 버전 5.7 이전에는 단방향 해시 알고리즘(S

PHP 및 SQLite: 비밀번호 암호화 및 확인 구현 방법 소개: 현대 인터넷 시대에는 사용자 비밀번호의 보안이 특히 중요합니다. 사용자의 개인정보를 보호하기 위해 웹사이트는 일반적으로 비밀번호 암호화 및 확인 방법을 사용하여 사용자의 비밀번호 정보를 저장하고 처리합니다. 이 기사에서는 PHP 및 SQLite 데이터베이스를 사용하여 비밀번호 암호화 및 확인 기능을 구현하는 방법을 소개합니다. 1. 비밀번호 암호화 비밀번호 암호화는 데이터베이스가 유출되더라도 사용자의 평문 비밀번호를 읽을 수 없는 것처럼 보이는 임의의 문자열로 변환하는 것을 말합니다.

PHP 및 Vue.js를 사용하여 안정적인 비밀번호 암호화 및 복호화 시스템을 개발하는 방법 소개: 온라인 세계에서는 비밀번호 보안이 특히 중요합니다. 사용자의 개인정보와 보안을 보호하려면 신뢰할 수 있는 비밀번호 암호화 및 복호화 시스템을 사용해야 합니다. 이 기사에서는 코드 예제와 함께 PHP 및 Vue.js를 사용하여 안정적인 비밀번호 암호화 및 복호화 시스템을 개발하는 방법을 소개합니다. 1. 비밀번호 암호화 및 복호화의 원리를 이해합니다. 개발을 시작하기 전에 비밀번호 암호화 및 복호화의 원리를 이해해야 합니다. 일반적으로 우리는 해시를 사용합니다.
