ホームページ  >  記事  >  ウェブフロントエンド  >  NodeJS で不可逆暗号化を実装し、パスワード暗号文を保存する方法

NodeJS で不可逆暗号化を実装し、パスワード暗号文を保存する方法

亚连
亚连オリジナル
2018-05-29 17:56:452710ブラウズ

この記事では、主に NodeJS で不可逆暗号化とパスワード暗号文ストレージを実装する方法を紹介し、不可逆暗号化とパスワード暗号文ストレージの原理を簡単に説明し、必要な場合は例の形式で NodeJS 関連の暗号化操作の実装テクニックを分析します。参照してください。

この記事の例では、NodeJS が不可逆暗号化を実装し、パスワード暗号文を保存する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

アプリケーションでは、ユーザーのパスワードを暗号化して保存する必要があることがよくあります。

パスワードを平文で保存することには欠点があります: 一度漏洩すると、簡単に多大な損失を引き起こす可能性があり、また、他の Web サイトのユーザーとパスワードに損失が生じる可能性もあります (ほとんどのユーザーは、ほとんどの Web サイトで同じアカウントとパスワードを使用しているため)。

この漏洩は 2 つの側面から発生している可能性があります。ハッカーと運用保守担当者の窃盗です。

パスワード平文の漏洩を防ぐために、データベースに保存されているパスワードフィールドを不可逆的に暗号化する必要があります。正確には、暗号化されてデータベースに保存されます。

一般的に使用される不可逆暗号化アルゴリズムには、MD5SHA-1 などがあります。

NodeJS では、非常に使いやすく、公式の組み込み crypto パッケージを使用するだけです:

var clearText = '123456';
// MD5 Hash
require('crypto').createHash('md5').update(clearText).digest('hex');
// 'e10adc3949ba59abbe56e057f20f883e'
// SHA-1 Hash
require('crypto').createHash('sha1').update(clearText).digest('hex');
// '7c4a8d09ca3762af61e59520943dc26494f8941b'

ユーザーが登録すると、ユーザーが送信したパスワードは最初に不可逆的に暗号化され、次に暗号文が暗号化されます。データベース内に保存されます。

ユーザーがログインすると、ユーザーが送信したパスワードは最初に同じ方法で暗号化され、データベース内の暗号文と比較されて、パスワードが正しいか間違っているかが判断されます。

理論的には、同じハッシュ値に対応するパスワードは無数にありますが、攻撃されるリスクについてはあまり心配する必要はありません。それに比べて、フラッド攻撃では Web サーバーとデータベースが最初に崩壊する可能性があるからです。

上記は私があなたのためにまとめたものです。

関連記事:

vue親コンポーネントが子コンポーネントのメソッドとイベントを呼び出す

vue.jsの要素UIツリー制御メソッドでiviewを変更

Observer実装プロセスのVueソースコード分析

以上がNodeJS で不可逆暗号化を実装し、パスワード暗号文を保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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