返回顶部
H

Hash Toolkit

Content hashing for deduplication with MD5, SHA256, and perceptual hashing

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
572
下载量
0
收藏
概述
安装方式
版本历史

Hash Toolkit

# Hash Toolkit Multi-algorithm hashing for content deduplication and verification. ## Implementation ```javascript const crypto = require('crypto'); /** * Generate hash using specified algorithm * @param {string|Buffer} content - Content to hash * @param {string} algorithm - Hash algorithm * @returns {string} Hash string */ function generateHash(content, algorithm = 'sha256') { const hash = crypto.createHash(algorithm); hash.update(Buffer.isBuffer(content) ? content : String(content)); return hash.digest('hex'); } /** * Generate multiple hashes at once */ function generateMultipleHashes(content) { return { md5: generateHash(content, 'md5'), sha1: generateHash(content, 'sha1'), sha256: generateHash(content, 'sha256'), sha512: generateHash(content, 'sha512').substring(0, 32) // Truncated }; } /** * Generate perceptual hash (for images/content similarity) * Simplified implementation */ function generatePerceptualHash(content) { // Simplified perceptual hash // In production: use actual perceptual hashing algorithm const normalized = String(content).toLowerCase().replace(/\s+/g, ' '); return generateHash(normalized, 'sha256').substring(0, 16); } /** * Check if content is duplicate based on hash */ function checkDuplicate(contentHash, knownHashes) { return { isDuplicate: knownHashes.has(contentHash), hash: contentHash, algorithm: 'sha256' }; } /** * Calculate similarity between two hashes * (for perceptual hashes) */ function calculateHashSimilarity(hash1, hash2) { if (hash1.length !== hash2.length) return 0; let matches = 0; for (let i = 0; i < hash1.length; i++) { if (hash1[i] === hash2[i]) matches++; } return matches / hash1.length; } // Export for OpenClaw module.exports = { generateHash, generateMultipleHashes, generatePerceptualHash, checkDuplicate, calculateHashSimilarity }; ``` ## Usage ```javascript // Generate SHA256 hash const hash = skills.hashToolkit.generateHash(content, 'sha256'); // Generate multiple hashes const hashes = skills.hashToolkit.generateMultipleHashes(content); console.log(hashes.md5, hashes.sha256); // Check for duplicates const knownHashes = new Set(['abc123...']); const result = skills.hashToolkit.checkDuplicate(hash, knownHashes); if (result.isDuplicate) { console.log('Duplicate content detected'); } // Perceptual hash for similarity const phash = skills.hashToolkit.generatePerceptualHash(imageData); ``` ## Configuration ```json { "defaultAlgorithm": "sha256", "enablePerceptual": true } ```

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 hash-toolkit-1776420052 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 hash-toolkit-1776420052 技能

通过命令行安装

skillhub install hash-toolkit-1776420052

下载 Zip 包

⬇ 下载 Hash Toolkit v1.0.0

文件大小: 1.68 KB | 发布时间: 2026-4-17 18:48

v1.0.0 最新 2026-4-17 18:48
- Initial release of Hash Toolkit (v1.0.0)
- Provides content hashing with MD5, SHA1, SHA256, and SHA512 algorithms
- Includes simplified perceptual hashing for content similarity detection
- Supports checking for duplicate content using hash comparison
- Exposes utility functions: generateHash, generateMultipleHashes, generatePerceptualHash, checkDuplicate, and calculateHashSimilarity

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部