New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@basis-theory/basis-theory-js-encryption

Package Overview
Dependencies
Maintainers
10
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@basis-theory/basis-theory-js-encryption

The [Basis Theory](https://basistheory.com/) JS Encryption SDK

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
19
decreased by-34.48%
Maintainers
10
Weekly downloads
 
Created
Source

BasisTheory JS Encryption

The Basis Theory JS Encryption SDK

Installation

Using Node Package Manager

npm install --save @basis-theory/basis-theory-js-encryption

Using Yarn

yarn add @basis-theory/basis-theory-js-encryption

Documentation

For further documentation and examples, please refer to our Docs.

Usage

Initialization

import { BasisTheoryEncryption } from '@basis-theory/basis-theory-js-encryption';

const btEncryption = await new BasisTheoryEncryption().init([new EncryptionProvider()]); // replace with an actual provider(s)

Encryption and Key Management

Encryption and Key Management is provided to enable you to manage your own data encryption and key storage with your KMS provider(s) of choice.

Key Management
import { BasisTheoryEncryption } from '@basis-theory/basis-theory-js-encryption';

// Given provider(s) will register it's factories for the services
const btEncryption = await new BasisTheoryEncryption().init([new EncryptionProvider()]);

// Retrieves or creates a key by name with a registered ProviderKeyFactory for the provided provider and algorithm
let providerEncryptionKey = await btEncryption.providerKeyService.getOrCreateKey('encryption-key', 'AZURE', 'RSA');

providerEncryptionKey = await btEncryption.providerKeyService.getKeyByKeyId(providerEncryptionKey.keyId);
Encryption and Decryption
import { v4 as uuid } from 'uuid';
import { BasisTheoryEncryption } from '@basis-theory/basis-theory-js-encryption';

// Given provider will register it's factories for the services.
const btEncryption = await new BasisTheoryEncryption().init(new EncryptionProvider());

// Provider Key which was generated from the ProviderKeyService
let providerEncryptionKey: ProviderEncryptionKey = {
  keyId: uuid(),
  providerKeyId: 'https://custom-kms.vault.azure.net/keys/encryption-key/809b10a3cedb83e83bbaeb5e8c762fab',
  algorithm: 'RSA',
  provider: 'AZURE'
};

// Encrypt string to get back a wrapped encryptedData with a reference to the providerEncryptionKey
const encryptedData = await btEncryption.encryptionService.encrypt('My Super Secret', providerEncryptionKey);

// Use Encrypted Data and Provider Encryption Key to decrypt the the value and get back the original plainText
const plainText = await btEncryption.encryptionService.decrypt(encryptedData, providerEncryptionKey);

Development

The provided scripts with the SDK will check for all dependencies, start docker, build the solution, and run all tests.

Dependencies

  • NodeJS > 10.12.0
  • Yarn

Build the SDK and run Tests

Run the following command from the root of the project:

make verify

FAQs

Package last updated on 20 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc