https://github.com/theroyalwhee0/highseal
CLI and Library to Seal and Unseal a Value with a Secret
https://github.com/theroyalwhee0/highseal
encrypt highseal seal secret unseal
Last synced: about 2 months ago
JSON representation
CLI and Library to Seal and Unseal a Value with a Secret
- Host: GitHub
- URL: https://github.com/theroyalwhee0/highseal
- Owner: theroyalwhee0
- License: apache-2.0
- Created: 2022-12-10T14:28:02.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-20T03:07:15.000Z (almost 2 years ago)
- Last Synced: 2025-02-10T13:37:50.522Z (4 months ago)
- Topics: encrypt, highseal, seal, secret, unseal
- Language: TypeScript
- Homepage:
- Size: 430 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://www.npmjs.com/package/@theroyalwhee0/highseal-cli) install allows sealing and unsealing of values without writing code.`npm install --global @theroyalwhee0/highseal-cli`
## Usage
```ts
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
- GitHub: [https://github.com/theroyalwhee0/highseal](https://github.com/theroyalwhee0/highseal)
- NPM: [https://www.npmjs.com/package/@theroyalwhee0/highseal](https://www.npmjs.com/package/@theroyalwhee0/highseal)
- Changelog: [https://github.com/theroyalwhee0/highseal/blob/main/changelog.md](https://github.com/theroyalwhee0/highseal/blob/main/changelog.md)
- Highseal CLI: [https://github.com/theroyalwhee0/highseal/tree/main/cli](https://github.com/theroyalwhee0/highseal/tree/main/cli)## Legal & License
Copyright 2022-2023 Adam MillThis library is released under Apache 2 license. See [LICENSE](https://github.com/theroyalwhee0/highseal/blob/main/LICENSE) for more details.