Napoleon's Pixelated Mugshot

    @theroyalwhee0/highseal
    TypeScript icon, indicating that this package has built-in type declarations

    0.2.0 • Public • Published

    HighSeal - @theroyalwhee0/highseal

    What is this?

    A library to seal and unseal a string value with a secret. The value is encrypted with aes-256-gcm, padded to a minimum of 32 bytes and padded to a multiple of 8 bytes beyond that.

    Installation

    npm install @theroyalwhee0/highseal

    CLI

    The Highseal CLI install allows sealing and unsealing of values without writing code.

    npm install --global @theroyalwhee0/highseal-cli

    Usage

    import { seal, unseal, isSealed } from '@theroyalwhee0/highseal';
    const secret = 'marabou stork';
    const initial = 'Leptoptilos crumenifer';
    console.info('Initial Value:', initial);
    const sealed = seal(initial, secret);
    console.info('Sealed Value:', sealed);
    console.info(`Value ${isSealed(sealed) ? 'appears' : 'does not appear'} to be sealed.`);
    const [err, unsealed] = unseal(sealed, secret);
    if(err) {
        console.error('Unable to unseal value:', err);
    } else {
        console.info('Unsealed Value:', unsealed);
    }

    Testing.

    Running npm run test will run the test suite. Running npm run test-watch will run the test suite in watch mode.

    Security Notes

    • This code has not been audited or verified by a third party.
    • The sealed values timestamps leak metadata of when they were generated.
    • The sealed values counters may leak metadata since incremented counters indicate batches.

    Links

    Legal & License

    Copyright 2022-2023 Adam Mill

    This library is released under Apache 2 license. See LICENSE for more details.

    Install

    npm i @theroyalwhee0/highseal

    DownloadsWeekly Downloads

    10

    Version

    0.2.0

    License

    Apache-2.0

    Unpacked Size

    109 kB

    Total Files

    49

    Last publish

    Collaborators

    • theroyalwhee0