1.0.1 • Published 6 months ago

base53-encoder v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

base53-encoder

Overview

base53-encoder is a unique Base53 encoding scheme that provides a flexible and innovative approach to string encoding and key generation. Inspired by traditional base encoding methods, this library offers a custom 30-bit block encoding strategy with 5-bit segments.

Features

  • 🔢 Custom 32-character encoding table
  • 🧩 5-bit segment encoding
  • 🔒 Flexible key generation
  • 🔄 Robust encode and decode methods
  • 🚀 Lightweight and easy to use
  • 🌐 ESM module support

Installation

Install the package using npm:

npm install base53-encoder

Usage

Basic Encoding and Decoding

import Base53 from 'base53-encoder';

// Encode a string
const encoded = Base53.encode('Hello, World!');
console.log(encoded);

// Decode a string
const decoded = Base53.decode(encoded);
console.log(decoded); // 'Hello, World!'

Key Generation

// Generate a 150-bit key
const key = Base53.buildKey();

console.log(key.rawKey);      // Original random key
console.log(key.encodedKey);  // Encoded key
console.log(key.decodedKey);  // Decoded key

Customizing Key Generation

// Custom key generation
const customKey = Base53.buildKey(
  3,    // Number of segments 
  24    // Length of each segment
);

Encoding Strategy

Technical Details

  • Encoding Table: 32 unique characters
  • Segment Size: 5 bits
  • Block Size: 30 bits (6 segments)
  • Padding: Automatic padding to ensure full block encoding

Unique Characteristics

  • Mimics Base64 encoding
  • Custom 5-bit segment approach
  • Flexible key generation
  • Built-in error handling

Error Handling

The library throws an error for invalid encoded strings:

try {
  Base53.decode('Invalid&Characters');
} catch (error) {
  console.error('Encoding error:', error.message);
}

Performance

base53-encoder is designed to be lightweight and efficient, with minimal overhead for encoding and decoding operations.

Compatibility

  • Node.js v14.16+
  • ESM module support

Contributing

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

License

MIT License

Author

Your Name Nate

Keywords

  • encoding
  • base53
  • encryption
  • key-generation
1.0.1

6 months ago

1.0.0

6 months ago