Crypto
2024年10月14日
一、crypto
Crypto
模块提供了加密功能,包含对 OpenSSL
的哈希、HMAC
、加密、解密、签名、以及验证功能的一整套封装。
使用 require('crypto')
来访问该模块。
const crypto = require('crypto');
二、crypto.constants
三、crypto.fips
四、crypto.checkPrime(candidate[, options], callback)
五、crypto.checkPrimeSync(candidate[, options])
六、crypto.createCipheriv(algorithm, key, iv[, options])
七、crypto.createDecipheriv(algorithm, key, iv[, options])
八、crypto.createDiffieHellman(prime[, primeEncoding][, generator][, generatorEncoding])
九、crypto.createDiffieHellman(primeLength[, generator])
十、crypto.createDiffieHellmanGroup(name)
十一、crypto.createECDH(curveName)
十二、crypto.createHash(algorithm[, options])
十三、crypto.createHmac(algorithm, key[, options])
十四、crypto.createPrivateKey(key)
十五、crypto.createPublicKey(key)
十六、crypto.createSecretKey(key[, encoding])
十七、crypto.createSign(algorithm[, options])
十八、crypto.createVerify(algorithm[, options])
十九、crypto.diffieHellman(options)
二十、crypto.hash(algorithm, data[, outputEncoding])
二十一、crypto.generateKey(type, options, callback)
二十二、crypto.generateKeyPair(type, options, callback)
二十三、crypto.generateKeyPairSync(type, options)
二十四、crypto.generateKeySync(type, options)
二十五、crypto.generatePrime(size[, options[, callback]])
二十六、crypto.generatePrimeSync(size[, options])
二十七、crypto.getCipherInfo(nameOrNid[, options])
二十八、crypto.getCiphers()
二十九、crypto.getCurves()
三十、crypto.getDiffieHellman(groupName)
三十一、crypto.getFips()
三十二、crypto.getHashes()
三十三、crypto.getRandomValues(typedArray)
三十四、crypto.hkdf(digest, ikm, salt, info, keylen, callback)
三十五、crypto.hkdfSync(digest, ikm, salt, info, keylen)
三十六、crypto.pbkdf2(password, salt, iterations, keylen, digest, callback)
三十七、crypto.pbkdf2Sync(password, salt, iterations, keylen, digest)
三十八、crypto.privateDecrypt(privateKey, buffer)
三十九、crypto.privateEncrypt(privateKey, buffer)
四十、crypto.publicDecrypt(key, buffer)
四十一、crypto.publicEncrypt(key, buffer)
四十二、crypto.randomBytes(size[, callback])
四十三、crypto.randomFillSync(buffer[, offset][, size])
四十四、crypto.randomFill(buffer[, offset][, size], callback)
四十五、crypto.randomInt([min, ]max[, callback])
crypto.randomInt([min, ]max[, callback])
是crypto
模块的内置应用程序编程接口,用于根据我们的使用情况同步或异步创建随机整数
语法
crypto.randomInt([min,]max [, callback]);
-
min
: 要生成的随机Int
的可选最小值(包括在内)。默认值是 :0
-
max
: 要生成随机Int
所需的最大值(不包括) -
callback
: 一个可选的回调函数, 在生成随机整数后执行。如果制定了回调, 则方法异步工作,否则默认同步工作
返回值
返回一个随机整数n
, min <= n < max
应用场景
-
场景一、异步获取
[min,max]
的整数const crypto = require("crypto");
crypto.randomInt(2,10,(error,n)=>{
if(error){
throw error;
}
console.log("[2,10] 区间的随机整数",n);
}); -
场景二、同步获取
[0,max]
的整数const crypto = require("crypto");
const random = crypto.randomInt(10);
console.log(random); -
场景三、同步获取
[min,max]
的整数const crypto = require("crypto");
const random = crypto.randomInt(2,10);
console.log(random);