node.js实例:使用 crypto 模块获取apk文件 md5 值
nodejs 2023-08-29 16:34:31小码哥的IT人生shichen
一、功能需求
node.js获取apk文件md5值
二、解决方案
获取apk文件的md5值【基于 crypto 模块】
1. 安装 crypto 模块
npm install crypto --save
2. 引入 crypto 模块
(commonjs模式:)
const crypto = require('crypto');
(module 模式:)
import crypto from 'crypto';
3. 获取apk文件md5值函数
async function calculateMD5(filePath) {
return new Promise((resolve, reject) => {
const hash = crypto.createHash('md5');
const stream = fs.createReadStream(filePath);
stream.on('data', (data) => {
hash.update(data, 'utf8');
});
stream.on('error', (error) => {
reject(error);
});
stream.on('end', () => {
const md5Hash = hash.digest('hex');
resolve(md5Hash);
});
});
}
4. 用法示例:
(async ()=>{
let md5val = await calculateMD5(filePath);
console.log(md5val);
})();
5. 完整实例:
const crypto = require('crypto');
const fs = require('fs');
const path = require('path');
// apk 文件路径
let filePath = path.join(__dirname,'sqgjyy_896720.apk');
// 获取apk文件md5值函数
async function calculateMD5(filePath) {
// console.log('【进入获取md5值函数')
return new Promise((resolve, reject) => {
const hash = crypto.createHash('md5');
const stream = fs.createReadStream(filePath);
stream.on('data', (data) => {
hash.update(data, 'utf8');
});
stream.on('error', (error) => {
reject(error);
});
stream.on('end', () => {
const md5Hash = hash.digest('hex');
resolve(md5Hash);
});
});
}
// 用法示例:
(async ()=>{
let md5val = await calculateMD5(filePath);
console.log(md5val);
})();
运行结果:
ad02a951bde00fbf0e035af503daee97
相关阅读
- node.js实例:使用 adbkit-apkreader 模块获取apk文件包
- node.js实例:使用 xpath-html 模块基于XPath模式获取ht
- node.js实例:使用pinyin-pro模块实现中文转拼音首字母
- node.js实例:axios模块根据URL获取网页源码
- node.js实例:使用crypto进行加密【MD5、SHA1、HMAC、AE
- node.js实例:安装、操作sqlite 数据库示例【创建、增删
- XHTML 模块
- node.js实例:使用child_process模块调用WinRAR压缩文件
- Node.js 与 MySQL 连接池
- 关闭 Node.js 与 MySQL 数据库连接