ホームページ ウェブフロントエンド jsチュートリアル Express での bcryptjs パスワード暗号化の使用

Express での bcryptjs パスワード暗号化の使用

Jun 07, 2018 pm 01:38 PM
express パスワードの暗号化

この記事では、Express でのパスワード暗号化に bcryptjs を使用する方法を主に紹介し、参考として提供します。

数日前、Express を使用して小さなプロジェクトを開発しました。ログインおよび登録モジュールを開発する際、パスワード暗号化に bcryptjs が使用されました。内容を要約すると、

bcrypt はクロスプラットフォームのファイル暗号化ツールです。これによって暗号化されたファイルは、サポートされているすべてのオペレーティング システムおよびプロセッサ上で転送できます。パスワードは 8 ~ 56 文字である必要があり、内部で 448 ビットのキーに変換されます。

データの暗号化に加えて、デフォルトでは、bcrypt は元の入力ファイルを削除する前にランダムなデータで 3 回上書きし、コンピューターのデータにアクセスする可能性のある誰かによるファイルの回復の試みを阻止します。この機能を使用したくない場合は、無効にすることができます。

bcrypt は、1993 年に Bruce Schnell によってリリースされた Blowfish 暗号化アルゴリズムを使用します。具体的には、bcrypt は Paul Kircher のアルゴリズムを使用して実装されています。 bcrypt で配布されるソース コードは、オリジナル バージョンからわずかに変更されています。

Express で bcryptjs を使用する手順:

1. bcryptjs モジュールをインストールします

npm install bcryptjs --save
ログイン後にコピー

2. 暗号化の強度を設定します

var bcrypt = require('bcryptjs');
ログイン後にコピー

4.登録時に 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 を使用してデータを暗号化する簡単な例です。 。

関連記事:

nodejsのキャッシュとしてredisを介して実装されたカプセル化されたキャッシュクラス

ネイティブJavaScriptを使用して虫眼鏡効果を実現

Vue Socket.ioソースコードの詳細な分析

以上がExpress での bcryptjs パスワード暗号化の使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Express を使用してノード プロジェクトでファイルのアップロードを処理する方法 Express を使用してノード プロジェクトでファイルのアップロードを処理する方法 Mar 28, 2023 pm 07:28 PM

ファイルのアップロードをどのように処理するか?次の記事では、Express を使用してノード プロジェクトでファイルのアップロードを処理する方法を紹介します。

Express と Laravel の詳細な比較: 最適なフレームワークを選択するには? Express と Laravel の詳細な比較: 最適なフレームワークを選択するには? Mar 09, 2024 pm 01:33 PM

Express と Laravel の詳細な比較: 最適なフレームワークを選択するには?プロジェクトに適したバックエンド フレームワークを選択する場合、Express と Laravel が開発者の間で人気のある 2 つの選択肢であることは間違いありません。 Express は Node.js ベースの軽量フレームワークであり、Laravel は PHP ベースの人気のあるフレームワークです。この記事では、これら 2 つのフレームワークの長所と短所を詳しく比較し、開発者がニーズに最適なフレームワークを選択できるように、具体的なコード例を示します。パフォーマンスとスケーラビリティExpr

Express と Laravel の比較分析: より自分に合ったフレームワークを選択してください Express と Laravel の比較分析: より自分に合ったフレームワークを選択してください Mar 10, 2024 pm 10:15 PM

Express と Laravel は非常に人気のある 2 つの Web フレームワークで、それぞれ JavaScript と PHP の 2 つの主要な開発言語の優れたフレームワークを代表します。この記事では、開発者がプロ​​ジェクトのニーズにより適したフレームワークを選択できるように、これら 2 つのフレームワークの比較分析を実施します。 1. フレームワークの概要 Express は、Node.js プラットフォームに基づく Web アプリケーション フレームワークであり、開発者が高性能の Web アプリケーションを迅速に構築できるようにする一連の強力な機能とツールを提供します。急行

PHPのパスワード暗号化と安全な保存方法は? PHPのパスワード暗号化と安全な保存方法は? Jun 30, 2023 am 08:34 AM

PHP でパスワード暗号化と安全なストレージを処理するにはどうすればよいですか?インターネットの急速な発展に伴い、ユーザーのプライバシーとデータのセキュリティの保護が重要な問題になっています。 Web サイトやアプリの開発者にとって、ユーザーのパスワードを安全に保つことは非常に重要です。 PHP 言語では、パスワードの暗号化と安全な保管を処理する方法が数多くあります。この記事では、開発者がユーザー パスワードのセキュリティを強化するのに役立ついくつかの一般的なテクノロジとベスト プラクティスを紹介します。ハッシュ関数を使用したパスワード暗号化 パスワードを保存するときは、決してクリア テキストで保存しないでください。

PHP と SQLite: パスワードの暗号化と検証を実装する方法 PHP と SQLite: パスワードの暗号化と検証を実装する方法 Jul 29, 2023 am 10:17 AM

PHP と SQLite: パスワードの暗号化と検証を実装する方法 はじめに: 現代のインターネット時代では、ユーザー パスワードのセキュリティが特に重要です。ユーザーのプライバシーを保護するために、Web サイトでは通常、パスワードの暗号化と検証方法を使用してユーザーのパスワード情報を保存および処理します。この記事では、PHP と SQLite データベースを使用してパスワードの暗号化と検証機能を実装する方法を紹介します。 1. パスワードの暗号化 パスワードの暗号化とは、ユーザーの平文パスワードを、一見読めないランダムな文字列に変換することを指し、この変換プロセスにより、たとえデータベースが漏洩したとしても、

MySQLのパスワード暗号化方式の詳細な分析 MySQLのパスワード暗号化方式の詳細な分析 Jun 15, 2023 pm 09:24 PM

インターネットの発展に伴い、MySQL はオープンソースのリレーショナル データベース管理システムとして、さまざまなアプリケーションで広く使用されています。重要なセキュリティ問題の 1 つは、MySQL ユーザー パスワードの暗号化と保存です。では、MySQL のパスワード暗号化にはどのような方法があるのでしょうか?この記事では詳細な分析を提供します。 MySQL パスワードの保存方法 MySQL パスワードの暗号化方法を理解する前に、まず MySQL パスワードがどのように保存されるかを理解しましょう。 MySQL バージョン 5.7 より前では、一方向ハッシュ アルゴリズム (S

PHPを使用してパスワード暗号化機能を実装する方法 PHPを使用してパスワード暗号化機能を実装する方法 Aug 19, 2023 am 09:16 AM

PHP を使用してパスワード暗号化機能を実装する方法 パスワードは、生活や仕事で頻繁に使用する必要があるセキュリティ検証方法です。ユーザーのプライバシーを保護するには、ユーザーのパスワードを暗号化して保存し、犯罪者による盗難や悪用を防ぐ必要があります。この記事では、PHPを使用してユーザーパスワードの安全性を高めるパスワード暗号化機能を実装する方法を紹介します。 PHP には、パスワードのハッシュ値を生成するために使用できる非常に強力な暗号化関数 passwd_hash() があります。この関数は、プレーン テキストのパスワードとパスワードの 2 つのパラメータを受け入れることができます。

PHP と Vue.js を使用して信頼性の高いパスワード暗号化および復号化システムを開発する方法 PHP と Vue.js を使用して信頼性の高いパスワード暗号化および復号化システムを開発する方法 Jul 05, 2023 pm 08:53 PM

PHP と Vue.js を使用して信頼性の高いパスワード暗号化および復号化システムを開発する方法 はじめに: オンラインの世界では、パスワードのセキュリティが特に重要です。ユーザーのプライバシーとセキュリティを保護するには、信頼性の高いパスワード暗号化および復号化システムを使用する必要があります。この記事では、PHP と Vue.js を使用して信頼性の高いパスワード暗号化および復号化システムを開発する方法をコード例とともに紹介します。 1. パスワードの暗号化と復号化の原理を理解する 開発を始める前に、パスワードの暗号化と復号化の原理を理解する必要があります。一般に、ハッシュを使用します

See all articles