tpmjs/packages/tools/official/hash-text
Ajax Davis 5c9f1a1d0a chore: update dependencies with compatibility fixes
- Update all packages to latest versions via pnpm update --latest
- Downgrade Prisma 7 to 6 (v7 requires schema migration)
- Downgrade Tailwind CSS 4 to 3 (v4 requires PostCSS migration)
- Downgrade Storybook 10 to 8 (addons not available in v10)
- Pin cheerio to 1.0.0-rc.12 via pnpm override (type exports changed)
- Fix AI SDK tool definitions: parameters -> inputSchema
- Fix cheerio types in extract-meta and table-extract tools
- Add explicit type annotations to tool execute functions
- Migrate biome config to v2.3.11 schema

All type-checks, tests, and builds pass.
2026-01-09 22:49:41 +10:00
..
src feat: add 55 new business tools and improve existing implementations 2026-01-01 19:23:32 +10:00
CHANGELOG.md chore: version packages 2025-12-31 23:54:47 +10:00
package.json chore: update dependencies with compatibility fixes 2026-01-09 22:49:41 +10:00
README.md feat: add 100+ official TPMJS tools 2025-12-31 22:55:56 +10:00
tsconfig.json feat: add 100+ official TPMJS tools 2025-12-31 22:55:56 +10:00
tsup.config.ts feat: add 100+ official TPMJS tools 2025-12-31 22:55:56 +10:00

@tpmjs/official-hash-text

Hash text using cryptographic algorithms (MD5, SHA-1, SHA-256, SHA-512).

Installation

npm install @tpmjs/official-hash-text

Usage

import { hashTextTool } from '@tpmjs/official-hash-text';
import { generateText } from 'ai';

const result = await generateText({
  model: yourModel,
  tools: {
    hashText: hashTextTool,
  },
  prompt: 'Hash "Hello, World!" using SHA-256',
});

Parameters

  • text (string, required): The text to hash
  • algorithm (string, required): Hash algorithm to use
    • Options: 'md5', 'sha1', 'sha256', 'sha512'

Returns

{
  hash: string;          // The hexadecimal hash digest
  algorithm: string;     // The algorithm used
  inputLength: number;   // The length of the input text
}

Examples

SHA-256 hash

const result = await hashTextTool.execute({
  text: 'Hello, World!',
  algorithm: 'sha256',
});
// {
//   hash: 'dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f',
//   algorithm: 'sha256',
//   inputLength: 13
// }

MD5 hash

const result = await hashTextTool.execute({
  text: 'Hello, World!',
  algorithm: 'md5',
});
// {
//   hash: '65a8e27d8879283831b664bd8b7f0ad4',
//   algorithm: 'md5',
//   inputLength: 13
// }

SHA-512 hash

const result = await hashTextTool.execute({
  text: 'password123',
  algorithm: 'sha512',
});
// Returns 128-character hexadecimal hash

Use Cases

  • Generating content fingerprints for deduplication
  • Creating checksums for data integrity verification
  • Hashing user input for comparison (note: use proper password hashing for credentials)
  • Generating cache keys
  • Creating unique identifiers from content
  • File integrity checks

Algorithm Guide

Algorithm Output Length Use Case
md5 32 hex chars (128 bits) Legacy systems, checksums (not cryptographically secure)
sha1 40 hex chars (160 bits) Git commits, legacy systems (weakened security)
sha256 64 hex chars (256 bits) General purpose, recommended for most use cases
sha512 128 hex chars (512 bits) High security requirements, larger hash space

Note: MD5 and SHA-1 are not recommended for security-critical applications. Use SHA-256 or SHA-512 for cryptographic purposes.

License

MIT