- 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. |
||
|---|---|---|
| .. | ||
| src | ||
| CHANGELOG.md | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsup.config.ts | ||
@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 hashalgorithm(string, required): Hash algorithm to use- Options:
'md5','sha1','sha256','sha512'
- Options:
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