モジュール基本モジュール

モジュール暗号

暗号化アルゴリズムモジュール

指示:

1
var crypto = require('crypto');

オブジェクト

Cipher

Cipherコンストラクター、 Cipher参照

1
Cipher crypto.Cipher;

PKey

PKeyコンストラクターPKeyを参照してくださいPKey

1
PKey crypto.PKey;

X509Cert

X509Certコンストラクタ、参照X509Cert

1
X509Cert crypto.X509Cert;

X509Crl

X509CrlコンストラクターX509Crlを参照してくださいX509Crl

1
X509Crl crypto.X509Crl;

X509Req

X509ReqコンストラクターX509Reqを参照してくださいX509Req

1
X509Req crypto.X509Req;

静的機能

createHash

指定されたアルゴリズム名に基づいて情報要約オブジェクトを作成します

1
static Digest crypto.createHash(String algo);

呼び出しパラメーター:

  • algo :文字列、情報要約オブジェクトのアルゴリズムを指定します

戻り結果:

  • Digest 、情報要約オブジェクトを返します

createHmac

指定されたアルゴリズム名に基づいてhmac情報ダイジェストオブジェクトを作成します

1 2
static Digest crypto.createHmac(String algo, Buffer key);

呼び出しパラメーター:

  • algo :文字列、情報要約オブジェクトのアルゴリズムを指定します
  • keyBuffer 、バイナリ署名キー

戻り結果:

  • Digest 、情報要約オブジェクトを返します

loadPKey

キーファイルをPEM / DER形式でロードします

1 2
static PKey crypto.loadPKey(String filename, String password = "");

呼び出しパラメーター:

  • filename :文字列、キーファイル名
  • password :文字列、パスワードの復号化

戻り結果:

  • PKey 、キーを含むオブジェクトを返します

loadCert

複数回呼び出すことができるCRT / PEM / DER / TXT形式の証明書をロードします

1
static X509Cert crypto.loadCert(String filename);

呼び出しパラメーター:

  • filename :文字列、証明書ファイル名

戻り結果:

  • X509Cert 、証明書を含むオブジェクトを返します

loadFileは、mozillaのcertdata、txtをロードします。これは、 http //hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txtからダウンロードして使用できます。


loadCrl

複数回呼び出すことができるPEM / DER形式の失効証明書をロードします

1
static X509Crl crypto.loadCrl(String filename);

呼び出しパラメーター:

  • filename :文字列、取り消された証明書ファイルの名前

戻り結果:

  • X509Crlは、取り消された証明書を含むオブジェクトを返します

loadReq

複数回呼び出すことができるPEM / DER形式で証明書要求をロードします

1
static X509Req crypto.loadReq(String filename);

呼び出しパラメーター:

  • filename :文字列、証明書要求ファイル名

戻り結果:

  • X509Reqは、要求された証明書を含むオブジェクトを返します

randomBytes

指定されたサイズのランダムな数値を生成し、havegeジェネレーターを使用します

1
static Buffer crypto.randomBytes(Integer size) async;

呼び出しパラメーター:

  • size :整数、生成されるランダム番号のsizeを指定します

戻り結果:

  • Buffer 、生成されたランダム番号を返します

simpleRandomBytes

高速アルゴリズムを使用して、指定されたサイズの低強度のランダム数を生成します

1
static Buffer crypto.simpleRandomBytes(Integer size) async;

呼び出しパラメーター:

  • size :整数、生成されるランダム番号のsizeを指定します

戻り結果:

  • Buffer 、生成されたランダム番号を返します

pseudoRandomBytes

エントロピージェネレーターを使用して、指定されたサイズの疑似ランダム数を生成します

1
static Buffer crypto.pseudoRandomBytes(Integer size) async;

呼び出しパラメーター:

  • size :整数、生成されるランダム番号のsizeを指定します

戻り結果:

  • Buffer 、生成されたランダム番号を返します

randomArt

指定されたデータの視覚的な文字画像を生成します

1 2 3
static String crypto.randomArt(Buffer data, String title, Integer size = 8);

呼び出しパラメーター:

  • dataBuffer 、表示するデータを指定します
  • title :文字列、文字イメージのタイトルを指定します。マルチバイト文字は幅エラーを引き起こします
  • size :整数、文字画像サイズ

戻り結果:

  • String 、生成された視覚的な文字列画像を返します

pbkdf1

pbkdf1に従って、プレーンテキストパスワードに従って必要なバイナリキーを生成します

1 2 3 4 5
static Buffer crypto.pbkdf1(Buffer password, Buffer salt, Integer iterations, Integer size, Integer algo) async;

呼び出しパラメーター:

  • passwordBuffer 、使用するパスワードを指定します
  • saltBuffer 、hmacで使用される塩を指定します
  • iterations :整数、 iterations指定します
  • size :整数、キーサイズを指定します
  • algo :整数、使用するhashアルゴリズムを指定します。詳細については、 hashモジュールを参照してください。

戻り結果:

  • Buffer 、生成されたバイナリキーを返します

pbkdf1に従って、プレーンテキストパスワードに従って必要なバイナリキーを生成します

1 2 3 4 5
static Buffer crypto.pbkdf1(Buffer password, Buffer salt, Integer iterations, Integer size, String algoName) async;

呼び出しパラメーター:

  • passwordBuffer 、使用するパスワードを指定します
  • saltBuffer 、hmacで使用される塩を指定します
  • iterations :整数、 iterations指定します
  • size :整数、キーサイズを指定します
  • algoName :文字列、使用するhashアルゴリズムを指定します。詳細については、 hashモジュールを参照してください。

戻り結果:

  • Buffer 、生成されたバイナリキーを返します

pbkdf2

rfc2898に従って、プレーンテキストパスワードに従って必要なバイナリキーを生成します

1 2 3 4 5
static Buffer crypto.pbkdf2(Buffer password, Buffer salt, Integer iterations, Integer size, Integer algo) async;

呼び出しパラメーター:

  • passwordBuffer 、使用するパスワードを指定します
  • saltBuffer 、hmacで使用される塩を指定します
  • iterations :整数、 iterations指定します
  • size :整数、キーサイズを指定します
  • algo :整数、使用するhashアルゴリズムを指定します。詳細については、 hashモジュールを参照してください。

戻り結果:

  • Buffer 、生成されたバイナリキーを返します

rfc2898に従って、プレーンテキストパスワードに従って必要なバイナリキーを生成します

1 2 3 4 5
static Buffer crypto.pbkdf2(Buffer password, Buffer salt, Integer iterations, Integer size, String algoName) async;

呼び出しパラメーター:

  • passwordBuffer 、使用するパスワードを指定します
  • saltBuffer 、hmacで使用される塩を指定します
  • iterations :整数、 iterations指定します
  • size :整数、キーサイズを指定します
  • algoName :文字列、使用するhashアルゴリズムを指定します。詳細については、 hashモジュールを参照してください。

戻り結果:

  • Buffer 、生成されたバイナリキーを返します

絶え間ない

AES

対称暗号化アルゴリズムAESを指定し、128、192、256ビットキーをサポートし、ブロック暗号化作業モードはECB、CBC、CFB128、CTR、GCM、CCM、XTSをサポートします

1
const crypto.AES = 1;

CAMELLIA

対称暗号化アルゴリズムCAMELLIAを指定し、128、192、256ビットキーをサポートし、ブロック暗号動作モードはECB、CBC、CFB128、CTR、GCM、CCMをサポートします

1
const crypto.CAMELLIA = 2;

DES

対称暗号化アルゴリズムDESを指定し、64ビットキーをサポートし、ブロック暗号化作業モードはECB、CBCをサポートします

1
const crypto.DES = 3;

DES_EDE

対称暗号化アルゴリズムDES-EDEを指定し、128ビットキーをサポートし、ブロック暗号化作業モードはECB、CBCをサポートします

1
const crypto.DES_EDE = 4;

DES_EDE3

対称暗号化アルゴリズムDES-EDE3を指定し、192ビットキーをサポートし、ブロック暗号動作モードはECB、CBCをサポートします

1
const crypto.DES_EDE3 = 5;

BLOWFISH

対称暗号化アルゴリズムBLOWFISHを指定し、192ビットキーをサポートし、ブロック暗号化作業モードはECB、CBC、CFB64、CTRをサポートします

1
const crypto.BLOWFISH = 6;

ARC4

対称暗号化アルゴリズムARC4を指定し、40、56、64、128ビットキーをサポート

1
const crypto.ARC4 = 7;

ARIA

対称暗号化アルゴリズムARIAを指定し、128、192、256ビットキーをサポートし、ブロック暗号化作業モードはECB、CBC、CFB128、CTR、GCM、CCMをサポートします

1
const crypto.ARIA = 8;

CHACHA20

対称暗号化アルゴリズムCHACHA20を指定し、256ビットキーをサポートし、ブロック暗号化作業モードはPOLY1305をサポートします

1
const crypto.CHACHA20 = 9;

SM4

対称暗号化アルゴリズムSM4を指定し、ブロック暗号動作モードはECB、CBCをサポートします

1
const crypto.SM4 = 10;

ECB

指定ブロック暗号動作モードはECBをサポートします

1
const crypto.ECB = 1;

CBC

指定ブロック暗号動作モードはCBCをサポートします

1
const crypto.CBC = 2;

CFB64

指定ブロック暗号動作モードはCFB64をサポートします

1
const crypto.CFB64 = 3;

CFB128

指定ブロック暗号動作モードはCFB128をサポートします

1
const crypto.CFB128 = 4;

OFB

指定ブロック暗号動作モードはOFBをサポートします

1
const crypto.OFB = 5;

CTR

指定ブロック暗号動作モードはCTRをサポートします

1
const crypto.CTR = 6;

GCM

指定ブロック暗号動作モードはGCMをサポートします

1
const crypto.GCM = 7;

STREAM

ストリーム暗号モードを指定します

1
const crypto.STREAM = 8;

CCM

指定ブロック暗号動作モードはCCMをサポートします

1
const crypto.CCM = 9;

XTS

指定ブロック暗号動作モードはXTSをサポートします

1
const crypto.XTS = 10;

POLY1305

指定ブロック暗号動作モードはPOLY1305をサポートします

1
const crypto.POLY1305 = 11;

PKCS7

充填モードをPKCS7として指定します

1
const crypto.PKCS7 = 0;

ONE_AND_ZEROS

塗りつぶしモードをONE_AND_ZEROSとして指定します

1
const crypto.ONE_AND_ZEROS = 1;

ZEROS_AND_LEN

塗りつぶしモードをZEROS_AND_LENとして指定します

1
const crypto.ZEROS_AND_LEN = 2;

ZEROS

塗りつぶしモードをZEROSとして指定します

1
const crypto.ZEROS = 3;

NOPADDING

充填モードをNOPADDINGとして指定します

1
const crypto.NOPADDING = 4;