open-index/open-npm huggingface dataset:
npm package: @muisit/cryptokey
Description: Cryptography for assymmetric keys in Node
Author: muisIT
Latest version: 1.2.5

# cryptokey

Cryptography implementation for assymetric keys in Node

## Key types

This library implements some methods for the following key types:

- Ed25519
- X25519
- P-256, prime256v1, Secp256r1
- Secp256k1

## Key Methods

### Basic methods

- `createPrivateKey`: initialises the private key to a random value
- `initialisePrivateKey(Uint8Array)`: initialise the private key to a set byte array
- `bytesToHex(Uint8Array)`: returns a `base16`/`hex` encoded string of the byte array
- `hexToBytes(string)`: returns a byte array based on the passed hexadecimal string
- `hasPublicKey()`: returns a boolean depending on the value of the public key byte array
- `publicKey()`: returns a byte array, empty if no public key is set
- `exportPublicKey()`: exports the public key in `hex` format
- `setPublicKey(string)`: sets the public key based on the hexadecimal string value
- `hasPrivateKey()`: returns a boolean depending on the value of the private key byte array
- `privateKey()`: returns a byte array, empty if no private key is set
- `exportPrivateKey()`: exports the private key in `hex` format
- `setPrivateKey(string)`: sets the private key based on the hexadecimal string value

## Other

- `toDIDKey()`: exports the key as a `did:key:..` identifier
- `importFromDID(string)`: imports a `did` identifier. Currently on `did:key:` is supported
- `toJWK()`: exports a JWK object for the public key
- `algorithms()`: provides a list of signature algorithms implemented
- `didDocument()`: returns the DID document value
- `importFromManagedKey(IKey)`: imports the key from a `@veramo/core` `IKey` structure
- `sign(string, Uint8Array, string)`: signs the byte array according to the algorithm (first parameter) and encodes the result according to the last parameter. Uses `raw` encoding by default, but `base64url` is an often used encoding
- `verify(string, string, Uint8Array)`: verifies the byte array agains the signature (second parameter) using the algorithm (first parameter)
npm package: @muisit/simplejwt
Description: Implementation to read, create, sign and verify simple JWTs
Author: muisIT
Latest version: 1.0.2

# simplejwt
Simple implementation for reading, creating, signing and verifying JWTs

## Usage

```json
import { JWT } from '@muisit/simplejwt'

const jwt = JWT.fromToken(token);
const { kid, iss } = jwt.header;
const { aud, nbf, iat } = jwt.payload;
const ckey = jwt.findKey();
if (ckey) {
    if (!jwt.verify(ckey)) {
        console.log('JWT could not be verified');
    }
}

const mysigningkey = await Factory.createKeyFromType('Ed25519', "private key in hex");
jwt.sign(mysigningkey);
console.log('JWT token is ', jwt.token);
```