暗号化モジュールを呼び出すために必要な( 'crypto')を使用します。
暗号化モジュールには、基礎となるシステムからのOpenSSLのサポートが必要です。これは、HTTPSセキュアネットワークと通常のHTTP接続に使用できるセキュリティ資格情報をカプセル化する方法を提供します。
このモジュールは、OpenSSLのハッシュ(ハッシュ)、HMAC(キーハッシュ)、暗号(エンコード)、DECIPHER(デコード)、サイン(サイン)、および検証(検証)の一連のカプセル化も提供します。
crypto.createcredentions(詳細)
キー値を持つ辞書として、オプションのパラメーターの詳細を備えた資格情報を作成します。
キー:文字列タイプの秘密鍵、PEMエンコード。
証明書:文字列タイプ、PEMエンコード認証証明書。
CA:文字列形式のPEMエンコードされた信頼できるCA証明書、または証明書リスト。
「CA」の詳細が指定されていない場合、node.jsはhttp://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txtにあるデフォルトのパブリックリストリストを使用します。
crypto.createhash(アルゴリズム)
ハッシュオブジェクトを作成して返します。これは、ハッシュダイジェストを生成するために使用される、指定されたアルゴリズムの暗号化されたハッシュです。
パラメーターアルゴリズムは、システムにインストールされているOpenSSLバージョンでサポートされているアルゴリズムを選択できます。たとえば、「SHA1」、「MD5」、「SHA256」、「SHA512」など。
Hash.Update(データ)
ハッシュのコンテンツを指定されたデータに更新します。この方法は、ストリーミングデータを使用するときに複数回呼び出される場合があります。
hash.digest(encoding = 'binary')
すべての着信データのハッシュ要約を計算します。エンコーディングパラメーターは、「ヘックス」、「バイナリ」、または「base64」です。
crypto.createhmac(アルゴリズム、キー)
アルゴリズムとキーを指定する暗号化されたHMACであるHMACオブジェクトを作成して返します。
パラメーターアルゴリズムは、上記のOpenSSL-See CreateHashによって選択できます。パラメーターキーは、HMACが使用するキーです。
hmac.update(データ)
指定されたデータにHMACコンテンツを更新します。この方法は、ストリーミングデータを使用するときに複数回呼び出される場合があります。
hmac.digest(encoding = 'binary')
すべての着信データのHMACダイジェストを計算します。エンコーディングパラメーターは、「ヘックス」、「バイナリ」、または「base64」です。
crypto.createcher(アルゴリズム、キー)
指定されたアルゴリズムとキーを使用して、暗号オブジェクトを作成して返します。
パラメーターアルゴリズムは、「AES192」などのOpenSSLによってサポートされているアルゴリズムを選択できます。最近のリリースでは、OpenSSL List-Cipher-Algorithmsが利用可能な暗号化アルゴリズムを表示します。
cipher.update(data、input_encoding = 'binary'、output_encoding = 'binary')
パラメーターデータを使用して暗号化されるコンテンツを更新すると、そのエンコードメソッドは、「UTF8」、「ASCII」、または「バイナリ」などのパラメーターinput_Encodingによって指定されます。パラメーターoutput_encodingは、「バイナリ」、「base64」、または「hex」など、暗号化されたコンテンツの出力エンコード方法を指定します。
暗号化されたコンテンツを返します。これは、ストリーミングデータを使用するときに複数回呼び出される場合があります。
cipher.final(output_encoding = 'binary')
残りのすべての暗号化されたコンテンツを返し、output_Encoding出力は「バイナリ」、「ASCII」、または「UTF8」の1つとしてエンコードされます。
crypto.createdecipher(アルゴリズム、キー)
指定されたアルゴリズムとキーを使用して、復号化されたオブジェクトを作成して返します。このオブジェクトは、上記の暗号化されたオブジェクトの逆動作です。
decipher.update(data、input_encoding = 'binary'、output_encoding = 'binary')
パラメーターデータを使用して、復号化されるコンテンツを更新すると、そのエンコードは「バイナリ」、「Base64」、または「HEX」です。パラメーターoutput_encodingは、「バイナリ」、「ASCII」、または「UTF8」など、復号化されたプレーンテキストコンテンツの出力エンコードメソッドを指定します。
decipher.final(output_encoding = 'binary')
残りのすべての復号化されたプレーンテキストを返します。出力_Encoding 'は「バイナリ」、「ASCII」、または「UTF8」の1つです。
crypto.createsign(algorithm)
指定されたアルゴリズムを使用して署名オブジェクトを作成して返します。既存のOpenSSL分布では、OpenSSL List-Public-Key-Algorithmsは、「RSA-Sha256」などの利用可能な署名アルゴリズムを表示します。
signer.update(データ)
データパラメーターを使用して署名オブジェクトを更新します。この方法は、ストリーミングデータを使用するときに複数回呼び出される場合があります。
signer.sign(private_key、output_format = 'binary')
署名に渡されたすべてのデータの署名を計算します。 private_keyは、署名用のPEMエンコードされたプライベートキーを含む文字列です。
supput_format出力が「バイナリ」、「hex」、または「base64」にすることができる署名を返します。
crypto.createverify(algorithm)
指定されたアルゴリズムを使用して、バリーターオブジェクトを作成して返します。これは、上記の署名オブジェクトの逆動作です。
verifier.update(データ)
データパラメーターを使用してValidatorオブジェクトを更新します。この方法は、ストリーミングデータを使用するときに複数回呼び出される場合があります。
verify.verify(cert、signature、signature_format = 'binary')
パラメータの証明書と署名を使用して、署名されたデータを確認します。 CERTはPEMにエンコードされた公開キー文字列であり、署名は以前に計算されたデータの署名であり、Signature_Formatは「バイナリ」、「HEX」、または「Base64」です。
データと公開鍵の署名の妥当性の検証の結果に従って、trueまたはfalseを返します。
必要なときに不可逆的な暗号化コードを書き込む方法
コードコピーは次のとおりです。
var text = "123 | 123123123123121231231212312312312123123121231231212312312312312312312312312312312312312312312
var hasher = crypto.createhash( "md5");
hasher.update(テキスト);
var hashmsg = hasher.digest( 'hex'); // hashmsgは暗号化されたデータです
暗号化および復号化された環境が必要な場合
コードコピーは次のとおりです。
var key = "asdhjwhereu*asd123-123"; //暗号化されたシークレットキー
var text = "123 | 123123123123121231231212312312312123123121231231212312312312312312312312312312312312312312312
var crypted = cipher.update(text、 'utf8'、 'hex');
crypted+= cipher.final( 'hex');
var message = crypted; //暗号化後の値
var decipher = crypto.createdecipher( 'aes-256-cbc'、key);
var dec = decipher.update(message、 'hex'、 'utf8');
Dec+= decipher.final( 'utf8'); //復号化後の値
PS:暗号化テクノロジーに関して、このサイトは参照用の次の暗号化ツールも提供しています。
MD5オンライン暗号化ツール: http://tools.vevb.com/password/createmd5password
エスケープ暗号化/復号化ツール: http://tools.vevb.com/password/escapepwd
オンラインSHA1暗号化ツール: http://tools.vevb.com/password/sha1encode
ショートリンク(ショートURL)オンライン生成ツール: http://tools.vevb.com/password/dwzcreate
ショートリンク(ショートURL)オンライン復元ツール: http://tools.vevb.com/password/unshorturl
高強度パスワードジェネレーター: http://tools.vevb.com/password/createstrongpassword