加密算法模块
使用方法:
var crypto = require('crypto');
| Type | Method and Description |
|---|---|
| const | public const AESAESAES指定对称加密算法 AES,支持 128, 192, 256 位 key,分组密码工作模式支持 ECB, CBC, CFB128, CTR, GCM |
| const | public const CAMELLIACAMELLIACAMELLIA指定对称加密算法 CAMELLIA,支持 128, 192, 256 位 key,分组密码工作模式支持 ECB, CBC, CFB128, CTR, GCM |
| const | public const DESDESDES指定对称加密算法 DES,支持 64 位 key,分组密码工作模式支持 ECB, CBC |
| const | public const DES_EDEDES_EDEDES_EDE指定对称加密算法 DES-EDE,支持 128 位 key,分组密码工作模式支持 ECB, CBC |
| const | public const DES_EDE3DES_EDE3DES_EDE3指定对称加密算法 DES-EDE3,支持 192 位 key,分组密码工作模式支持 ECB, CBC |
| const | public const BLOWFISHBLOWFISHBLOWFISH指定对称加密算法 BLOWFISH,支持 192 位 key,分组密码工作模式支持 ECB, CBC, CFB64, CTR |
| const | public const ARC4ARC4ARC4指定对称加密算法 ARC4,支持 40, 56, 64, 128 位 key |
| const | public const ECBECBECB指定分组密码工作模式支持 ECB |
| const | public const CBCCBCCBC指定分组密码工作模式支持 CBC |
| const | public const CFB64CFB64CFB64指定分组密码工作模式支持 CFB64 |
| const | public const CFB128CFB128CFB128指定分组密码工作模式支持 CFB128 |
| const | public const OFBOFBOFB指定分组密码工作模式支持 OFB |
| const | public const CTRCTRCTR指定分组密码工作模式支持 CTR |
| const | public const GCMGCMGCM指定分组密码工作模式支持 GCM |
| const | public const STREAMSTREAMSTREAM指定流密码模式 |
| const | public const CCMCCMCCM指定分组密码工作模式支持 CCM |
| const | public const PKCS7PKCS7PKCS7指定填充模式为 PKCS7 |
| const | public const ONE_AND_ZEROSONE_AND_ZEROSONE_AND_ZEROS指定填充模式为 ONE_AND_ZEROS |
| const | public const ZEROS_AND_LENZEROS_AND_LENZEROS_AND_LEN指定填充模式为 ZEROS_AND_LEN |
| const | public const ZEROSZEROSZEROS指定填充模式为 ZEROS |
| const | public const NOPADDINGNOPADDINGNOPADDING指定填充模式为 NOPADDING |
| void | public static static CipherCipherCipherCipher 构造函数,参见 Cipher |
| void | public static static PKeyPKeyPKeyPKey 构造函数,参见 PKey |
| void | public static static X509CertX509CertX509CertX509Cert 构造函数,参见 X509Cert |
| void | public static static X509CrlX509CrlX509CrlX509Crl 构造函数,参见 X509Crl |
| void | public static static X509ReqX509ReqX509ReqX509Req 构造函数,参见 X509Req |
| Type | Method and Description |
|---|---|
| PKey | loadPKey(String filename,String password)加载一个 PEM/DER 格式的密钥文件 |
| X509Cert | loadCert(String filename)加载一个 CRT/PEM/DER/TXT 格式的证书,可多次调用 |
| X509Crl | loadCrl(String filename)加载一个 PEM/DER 格式的撤销证书,可多次调用 |
| X509Req | loadReq(String filename)加载一个 PEM/DER 格式的证书请求,可多次调用 |
| Buffer | randomBytes(Integer size)生成指定尺寸的随机数,使用 havege 生成器 |
| Buffer | simpleRandomBytes(Integer size)生成指定尺寸的低强度随机数,使用快速的算法 |
| Buffer | pseudoRandomBytes(Integer size)生成指定尺寸的伪随机数,使用 entropy 生成器 |
| String | randomArt(Buffer data,String title,Integer size)生成给定数据的可视化字符图像 |
| Buffer | pbkdf1(Buffer password,Buffer salt,Integer iterations,Integer size,Integer algo)依据 pbkdf1 根据明文 password 生成要求的二进制钥匙 |
| Buffer | pbkdf1(Buffer password,Buffer salt,Integer iterations,Integer size,String algoName)依据 pbkdf1 根据明文 password 生成要求的二进制钥匙 |
| Buffer | pbkdf2(Buffer password,Buffer salt,Integer iterations,Integer size,Integer algo)依据 rfc2898 根据明文 password 生成要求的二进制钥匙 |
| Buffer | pbkdf2(Buffer password,Buffer salt,Integer iterations,Integer size,String algoName)依据 rfc2898 根据明文 password 生成要求的二进制钥匙 |
| Buffer | pbkdf2Sync(Buffer password,Buffer salt,Integer iterations,Integer size,String algoName)依据 rfc2898 根据明文 password 生成要求的二进制钥匙,是 pbkdf2 的同步版兼容接口 |
public const AESAESAES指定对称加密算法 AES,支持 128, 192, 256 位 key,分组密码工作模式支持 ECB, CBC, CFB128, CTR, GCM
public const CAMELLIACAMELLIACAMELLIA指定对称加密算法 CAMELLIA,支持 128, 192, 256 位 key,分组密码工作模式支持 ECB, CBC, CFB128, CTR, GCM
public const DESDESDES指定对称加密算法 DES,支持 64 位 key,分组密码工作模式支持 ECB, CBC
public const DES_EDEDES_EDEDES_EDE指定对称加密算法 DES-EDE,支持 128 位 key,分组密码工作模式支持 ECB, CBC
public const DES_EDE3DES_EDE3DES_EDE3指定对称加密算法 DES-EDE3,支持 192 位 key,分组密码工作模式支持 ECB, CBC
public const BLOWFISHBLOWFISHBLOWFISH指定对称加密算法 BLOWFISH,支持 192 位 key,分组密码工作模式支持 ECB, CBC, CFB64, CTR
public const ARC4ARC4ARC4指定对称加密算法 ARC4,支持 40, 56, 64, 128 位 key
public const ECBECBECB指定分组密码工作模式支持 ECB
public const CBCCBCCBC指定分组密码工作模式支持 CBC
public const CFB64CFB64CFB64指定分组密码工作模式支持 CFB64
public const CFB128CFB128CFB128指定分组密码工作模式支持 CFB128
public const OFBOFBOFB指定分组密码工作模式支持 OFB
public const CTRCTRCTR指定分组密码工作模式支持 CTR
public const GCMGCMGCM指定分组密码工作模式支持 GCM
public const STREAMSTREAMSTREAM指定流密码模式
public const CCMCCMCCM指定分组密码工作模式支持 CCM
public const PKCS7PKCS7PKCS7指定填充模式为 PKCS7
public const ONE_AND_ZEROSONE_AND_ZEROSONE_AND_ZEROS指定填充模式为 ONE_AND_ZEROS
public const ZEROS_AND_LENZEROS_AND_LENZEROS_AND_LEN指定填充模式为 ZEROS_AND_LEN
public const ZEROSZEROSZEROS指定填充模式为 ZEROS
public const NOPADDINGNOPADDINGNOPADDING指定填充模式为 NOPADDING
public static static CipherCipherCipherCipher 构造函数,参见 Cipher
public static static PKeyPKeyPKeyPKey 构造函数,参见 PKey
public static static X509CertX509CertX509CertX509Cert 构造函数,参见 X509Cert
public static static X509CrlX509CrlX509CrlX509Crl 构造函数,参见 X509Crl
public static static X509ReqX509ReqX509ReqX509Req 构造函数,参见 X509Req
loadPKey(String filename,String password)加载一个 PEM/DER 格式的密钥文件
filename 密钥文件名
password 解密密码
loadCert(String filename)加载一个 CRT/PEM/DER/TXT 格式的证书,可多次调用
loadFile 加载 mozilla 的 certdata,txt, 可于 http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt 下载使用
filename 证书文件名loadCrl(String filename)加载一个 PEM/DER 格式的撤销证书,可多次调用
filename 撤销证书文件名loadReq(String filename)加载一个 PEM/DER 格式的证书请求,可多次调用
filename 证书请求文件名randomBytes(Integer size)生成指定尺寸的随机数,使用 havege 生成器
size 指定生成的随机数尺寸返回生成的随机数
simpleRandomBytes(Integer size)生成指定尺寸的低强度随机数,使用快速的算法
size 指定生成的随机数尺寸返回生成的随机数
pseudoRandomBytes(Integer size)生成指定尺寸的伪随机数,使用 entropy 生成器
size 指定生成的随机数尺寸返回生成的随机数
randomArt(Buffer data,String title,Integer size)生成给定数据的可视化字符图像
data 指定要展示的数据
title 指定字符图像的标题,多字节字符会导致宽度错误
size 字符图像尺寸
返回生成的可视化字符串图像
pbkdf1(Buffer password,Buffer salt,Integer iterations,Integer size,Integer algo)依据 pbkdf1 根据明文 password 生成要求的二进制钥匙
password 指定使用的密码
salt 指定 hmac 使用的 salt
iterations 指定迭代次数
size 指定钥匙尺寸
algo 指定要使用的 hash 算法,详见 hash 模块
返回生成的二进制钥匙
pbkdf1(Buffer password,Buffer salt,Integer iterations,Integer size,String algoName)依据 pbkdf1 根据明文 password 生成要求的二进制钥匙
password 指定使用的密码
salt 指定 hmac 使用的 salt
iterations 指定迭代次数
size 指定钥匙尺寸
algoName 指定要使用的 hash 算法,详见 hash 模块
返回生成的二进制钥匙
pbkdf2(Buffer password,Buffer salt,Integer iterations,Integer size,Integer algo)依据 rfc2898 根据明文 password 生成要求的二进制钥匙
password 指定使用的密码
salt 指定 hmac 使用的 salt
iterations 指定迭代次数
size 指定钥匙尺寸
algo 指定要使用的 hash 算法,详见 hash 模块
返回生成的二进制钥匙
pbkdf2(Buffer password,Buffer salt,Integer iterations,Integer size,String algoName)依据 rfc2898 根据明文 password 生成要求的二进制钥匙
password 指定使用的密码
salt 指定 hmac 使用的 salt
iterations 指定迭代次数
size 指定钥匙尺寸
algoName 指定要使用的 hash 算法,详见 hash 模块
返回生成的二进制钥匙
pbkdf2Sync(Buffer password,Buffer salt,Integer iterations,Integer size,String algoName)依据 rfc2898 根据明文 password 生成要求的二进制钥匙,是 pbkdf2 的同步版兼容接口
password 指定使用的密码
salt 指定 hmac 使用的 salt
iterations 指定迭代次数
size 指定钥匙尺寸
algoName 指定要使用的 hash 算法,详见 hash 模块
返回生成的二进制钥匙