nodejs的某些api~,二crypto加密模块

就随便写写crypto模块,加密在node里面挺重要的,特别是密码,用户名都用crypto加密,在我写的那个作品里面,用户名密码的存储都是用crypto加密的,也没有深究里面的内容,想深究的同学可以看:

点我

//crypto.getCiphers();返回一个数组,包含支持的加密算法的名字;

//crypto.getHashes();返回ige包含所支持的哈希算法的数组;都可以在node里试试,返回一大长串。

//crypto.createCredentials(details);创建一个加密凭证对象,接收一个可选参数对象 已废弃

pfx : 一个字符串或者buffer对象,代表经PFX或者PKCS12编码产生的私钥、证书以及CA证书

key : 一个字符串,代表经PEM编码产生的私钥

passphrase : 私钥或者pfx的密码

cert : 一个字符串,代表经PEM编码产生的证书

ca : 一个字符串或者字符串数组,表示可信任的经PEM编码产生的CA证书列表

crl : 一个字符串或者字符串数组,表示经PEM编码产生的CRL(证书吊销列表 Certificate Revocation List)

ciphers: 一个字符串,表示需要使用或者排除的加密算法

//crypto.createHash(algorithm, options);创建返回一个哈希对象,一个使用所给算法的用于生成摘要的哈希

//类Hash 创建数据哈希摘要的类;duplex流;

//hash.update(data,[input_encoding])通过提供的数据更新哈希对象,2参指定编码。

//hash.digest([encoding]);计算传入的所有数据摘要值;

我们通过crypto.createHash()来创建一个加密实例,可以采用md5,sha1,sha256,sha512,ripemd160。通常是这么用的

var md5=crypto.createHash('md5');
md5.update('string');
console.log(md5.digest('hex'));

打印的值就是我们用md5加密的值,然后就可以拿来存进数据库了,我是这么干的。