モジュール暗号
暗号化アルゴリズムモジュール
手順:
1var crypto = require('crypto');
物体
Cipher
Cipher コンストラクター、を参照してください Cipher
1Cipher crypto.Cipher;
PKey
1PKey crypto.PKey;
X509Cert
X509Cert コンストラクター、を参照してください X509Cert
1X509Cert crypto.X509Cert;
X509Crl
X509Crl コンストラクター、を参照してください X509Crl
1X509Crl crypto.X509Crl;
X509Req
X509Req コンストラクター、を参照してください X509Req
1X509Req crypto.X509Req;
静的関数
createHash
指定されたアルゴリズム名に基づいて情報要約オブジェクトを作成します
1static Digest crypto.createHash(String algo);
呼び出しパラメーター:
- algo:文字列、メッセージダイジェストオブジェクトのアルゴリズムを指定します
戻り結果:
- Digest、情報サマリーオブジェクトを返します
createHmac
指定されたアルゴリズム名に基づいてhmac情報ダイジェストオブジェクトを作成します
1
2static Digest crypto.createHmac(String algo,
Buffer key);
呼び出しパラメーター:
- algo:文字列、メッセージダイジェストオブジェクトのアルゴリズムを指定します
- key: Buffer、バイナリ署名キー
戻り結果:
- Digest、情報サマリーオブジェクトを返します
loadPKey
キーファイルをPEM / DER形式でロードします
1
2static PKey crypto.loadPKey(String filename,
String password = "");
呼び出しパラメーター:
- filename:文字列、キーファイル名
- password:文字列、パスワードの復号化
戻り結果:
- PKey、キーを含むオブジェクトを返します
loadCert
複数回呼び出すことができるCRT / PEM / DER / TXT形式の証明書をロードします
1static 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形式の失効証明書をロードします
1static X509Crl crypto.loadCrl(String filename);
呼び出しパラメーター:
- filename:文字列、取り消された証明書のファイル名
戻り結果:
- X509Crl、取り消された証明書を含むオブジェクトを返します
loadReq
複数回呼び出すことができるPEM / DER形式で証明書要求をロードします
1static X509Req crypto.loadReq(String filename);
呼び出しパラメーター:
- filename:文字列、証明書要求ファイル名
戻り結果:
- X509Req、要求された証明書を含むオブジェクトを返します
randomBytes
指定されたサイズの乱数を生成し、havegeジェネレーターを使用します
1static Buffer crypto.randomBytes(Integer size) async;
呼び出しパラメーター:
- size:整数、生成される乱数のサイズを指定します
戻り結果:
- Buffer、生成された乱数を返します
simpleRandomBytes
高速アルゴリズムを使用して、指定されたサイズの低強度の乱数を生成します
1static Buffer crypto.simpleRandomBytes(Integer size) async;
呼び出しパラメーター:
- size:整数、生成される乱数のサイズを指定します
戻り結果:
- Buffer、生成された乱数を返します
pseudoRandomBytes
エントロピージェネレーターを使用して、指定されたサイズの疑似乱数を生成します
1static Buffer crypto.pseudoRandomBytes(Integer size) async;
呼び出しパラメーター:
- size:整数、生成される乱数のサイズを指定します
戻り結果:
- Buffer、生成された乱数を返します
randomArt
指定されたデータの視覚的な文字画像を生成します
1
2
3static String crypto.randomArt(Buffer data,
String title,
Integer size = 8);
呼び出しパラメーター:
- data: Buffer、表示するデータを指定します
- title:文字列、文字画像のタイトルを指定します。マルチバイト文字は幅エラーを引き起こします
- size:整数、文字画像サイズ
戻り結果:
- String、生成されたビジュアル文字列画像を返します
genRsaKey
RSA秘密鍵を生成する
1static PKey crypto.genRsaKey(Integer size) async;
呼び出しパラメーター:
- size:整数、RSAキーの長さを指定し、ビットを単位として指定します
戻り結果:
- PKey、生成された秘密鍵を含むオブジェクトを返します
genEcKey
EC秘密鍵を生成する
1static PKey crypto.genEcKey(String curve = "secp521r1") async;
呼び出しパラメーター:
- curve:文字列、事前設定された楕円曲線を指定、オプションの値は次のとおりです: "secp521r1"、 "brainpoolP512r1"、 "secp384r1"、 "brainpoolP384r1"、 "secp256r1"、 "secp256k1"、 "brainpoolP256r1"、 "secp224r1"、 "secp224k1"、 「secp192r1」、「secp192k1」
戻り結果:
- PKey、生成された秘密鍵を含むオブジェクトを返します
genSm2Key
SM2秘密鍵を生成する
1static PKey crypto.genSm2Key() async;
戻り結果:
- PKey、生成された秘密鍵を含むオブジェクトを返します
pbkdf1
プレーンテキストのパスワードに従って、pbkdf1に従って必要なバイナリキーを生成します
1
2
3
4
5static Buffer crypto.pbkdf1(Buffer password,
Buffer salt,
Integer iterations,
Integer size,
Integer algo) async;
呼び出しパラメーター:
- password: Buffer、使用するパスワードを指定します
- salt: Buffer、hmacで使用されるソルトを指定します
- iterations:整数、反復回数を指定します
- size:整数、キーサイズを指定
- algo:整数、何を使用するかを指定します hash アルゴリズム、を参照してください hash モジュール
戻り結果:
- Buffer、生成されたバイナリキーを返します
プレーンテキストのパスワードに従って、pbkdf1に従って必要なバイナリキーを生成します
1
2
3
4
5static Buffer crypto.pbkdf1(Buffer password,
Buffer salt,
Integer iterations,
Integer size,
String algoName) async;
呼び出しパラメーター:
- password: Buffer、使用するパスワードを指定します
- salt: Buffer、hmacで使用されるソルトを指定します
- iterations:整数、反復回数を指定します
- size:整数、キーサイズを指定
- algoName:文字列、使用するものを指定します hash アルゴリズム、を参照してください hash モジュール
戻り結果:
- Buffer、生成されたバイナリキーを返します
pbkdf2
rfc2898に従って、プレーンテキストのパスワードに従って必要なバイナリキーを生成します
1
2
3
4
5static Buffer crypto.pbkdf2(Buffer password,
Buffer salt,
Integer iterations,
Integer size,
Integer algo) async;
呼び出しパラメーター:
- password: Buffer、使用するパスワードを指定します
- salt: Buffer、hmacで使用されるソルトを指定します
- iterations:整数、反復回数を指定します
- size:整数、キーサイズを指定
- algo:整数、何を使用するかを指定します hash アルゴリズム、を参照してください hash モジュール
戻り結果:
- Buffer、生成されたバイナリキーを返します
rfc2898に従って、プレーンテキストのパスワードに従って必要なバイナリキーを生成します
1
2
3
4
5static Buffer crypto.pbkdf2(Buffer password,
Buffer salt,
Integer iterations,
Integer size,
String algoName) async;
呼び出しパラメーター:
- password: Buffer、使用するパスワードを指定します
- salt: Buffer、hmacで使用されるソルトを指定します
- iterations:整数、反復回数を指定します
- size:整数、キーサイズを指定
- algoName:文字列、使用するものを指定します hash アルゴリズム、を参照してください hash モジュール
戻り結果:
- Buffer、生成されたバイナリキーを返します
getHashes
暗号モジュールのサポートを取得する hash(要約)「md5」、「sha224」などのアルゴリズム
1static Array crypto.getHashes();
戻り結果:
- Array、fibjsサポートに戻る hash アルゴリズム配列
絶え間ない
AES
対称暗号化アルゴリズムAESを指定し、128、192、256ビットキーをサポートし、ブロック暗号作業モードはECB、CBC、CFB128、CTR、GCM、CCM、XTSをサポートします
1const crypto.AES = 1;
CAMELLIA
対称暗号化アルゴリズムCAMELLIAを指定し、128、192、256ビットキーをサポートし、ブロック暗号作業モードはECB、CBC、CFB128、CTR、GCM、CCMをサポートします
1const crypto.CAMELLIA = 2;
DES
対称暗号化アルゴリズムDESを指定し、64ビットキーをサポートし、ブロック暗号作業モードはECB、CBCをサポートします
1const crypto.DES = 3;
DES_EDE
対称暗号化アルゴリズムDES-EDEを指定し、128ビットキーをサポートし、ブロック暗号作業モードはECB、CBCをサポートします
1const crypto.DES_EDE = 4;
DES_EDE3
対称暗号化アルゴリズムDES-EDE3を指定し、192ビットキーをサポートし、ブロック暗号作業モードはECB、CBCをサポートします
1const crypto.DES_EDE3 = 5;
BLOWFISH
対称暗号化アルゴリズムBLOWFISHを指定し、192ビットキーをサポートし、ブロック暗号作業モードはECB、CBC、CFB64、CTRをサポートします
1const crypto.BLOWFISH = 6;
ARC4
対称暗号化アルゴリズムARC4を指定し、40、56、64、128ビットキーをサポートします
1const crypto.ARC4 = 7;
ARIA
対称暗号化アルゴリズムARIAを指定し、128、192、256ビットキーをサポートし、ブロック暗号作業モードはECB、CBC、CFB128、CTR、GCM、CCMをサポートします
1const crypto.ARIA = 8;
CHACHA20
対称暗号化アルゴリズムCHACHA20を指定し、256ビットキーをサポートし、ブロック暗号作業モードはPOLY1305をサポートします
1const crypto.CHACHA20 = 9;
SM4
対称暗号化アルゴリズムSM4を指定し、ブロック暗号動作モードはECB、CBCをサポートします
1const crypto.SM4 = 10;
ECB
指定ブロック暗号動作モードはECBをサポートします
1const crypto.ECB = 1;
CBC
指定ブロック暗号動作モードはCBCをサポートします
1const crypto.CBC = 2;
CFB64
指定ブロック暗号動作モードはCFB64をサポートします
1const crypto.CFB64 = 3;
CFB128
指定ブロック暗号動作モードはCFB128をサポートします
1const crypto.CFB128 = 4;
OFB
指定ブロック暗号動作モードはOFBをサポートします
1const crypto.OFB = 5;
CTR
指定ブロック暗号動作モードはCTRをサポートします
1const crypto.CTR = 6;
GCM
指定ブロック暗号動作モードはGCMをサポートします
1const crypto.GCM = 7;
STREAM
ストリーム暗号モードを指定します
1const crypto.STREAM = 8;
CCM
指定ブロック暗号動作モードはCCMをサポートします
1const crypto.CCM = 9;
XTS
指定ブロック暗号動作モードはXTSをサポートします
1const crypto.XTS = 10;
POLY1305
指定ブロック暗号動作モードはPOLY1305をサポートします
1const crypto.POLY1305 = 11;
PKCS7
充填モードをPKCS7として指定します
1const crypto.PKCS7 = 0;
ONE_AND_ZEROS
塗りつぶしモードをONE_AND_ZEROSとして指定します
1const crypto.ONE_AND_ZEROS = 1;
ZEROS_AND_LEN
塗りつぶしモードをZEROS_AND_LENとして指定します
1const crypto.ZEROS_AND_LEN = 2;
ZEROS
塗りつぶしモードをZEROSとして指定します
1const crypto.ZEROS = 3;
NOPADDING
充填モードをNOPADDINGとして指定します
1const crypto.NOPADDING = 4;