返回顶部
H

Hash Toolkit哈希工具包

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

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

Hash Toolkit

Hash Toolkit

用于内容去重和验证的多算法哈希工具。

实现

javascript
const crypto = require(crypto);

/
* 使用指定算法生成哈希
* @param {string|Buffer} content - 待哈希的内容
* @param {string} algorithm - 哈希算法
* @returns {string} 哈希字符串
*/
function generateHash(content, algorithm = sha256) {
const hash = crypto.createHash(algorithm);
hash.update(Buffer.isBuffer(content) ? content : String(content));
return hash.digest(hex);
}

/
* 一次性生成多个哈希值
*/
function generateMultipleHashes(content) {
return {
md5: generateHash(content, md5),
sha1: generateHash(content, sha1),
sha256: generateHash(content, sha256),
sha512: generateHash(content, sha512).substring(0, 32) // 截断处理
};
}

/
* 生成感知哈希(用于图像/内容相似度比较)
* 简化实现
*/
function generatePerceptualHash(content) {
// 简化的感知哈希
// 生产环境:应使用实际的感知哈希算法
const normalized = String(content).toLowerCase().replace(/\s+/g, );
return generateHash(normalized, sha256).substring(0, 16);
}

/
* 基于哈希值检查内容是否重复
*/
function checkDuplicate(contentHash, knownHashes) {
return {
isDuplicate: knownHashes.has(contentHash),
hash: contentHash,
algorithm: sha256
};
}

/
* 计算两个哈希值之间的相似度
* (用于感知哈希)
*/
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;
}

// 导出供 OpenClaw 使用
module.exports = {
generateHash,
generateMultipleHashes,
generatePerceptualHash,
checkDuplicate,
calculateHashSimilarity
};

使用示例

javascript
// 生成 SHA256 哈希
const hash = skills.hashToolkit.generateHash(content, sha256);

// 生成多个哈希值
const hashes = skills.hashToolkit.generateMultipleHashes(content);
console.log(hashes.md5, hashes.sha256);

// 检查重复内容
const knownHashes = new Set([abc123...]);
const result = skills.hashToolkit.checkDuplicate(hash, knownHashes);
if (result.isDuplicate) {
console.log(检测到重复内容);
}

// 感知哈希用于相似度比较
const phash = skills.hashToolkit.generatePerceptualHash(imageData);

配置

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

下载

⬇ 下载 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
返回顶部