A web crypto library used by Vivy GmbH for encryption/decryption in browser.
yarn add @vivy/krypt-web
import { ehrEncrypt, ehrDecrypt } from "@vivy/krypt-web";
async function myEncryptionModule(publicKey, bytesToEncrypt) {
return await ehrEncrypt(publicKey, bytesToEncrypt);
}
// ....
async function myDecryptionModule(privateKey, data) {
return await ehrDecrypt(privateKey, data);
}
import { medicalId } from "@vivy/krypt-web";
const {
deprecated: { deriveKey: medDeriveKey, decrypt: medDecrypt }
} = medicalId;
async function myEncryptionModule(code, pin, bytesToEncrypt) {
const { key, iv } = medDeriveKey(code, pin);
const { data } = await medEncrypt(code, pin, bytesToEncrypt);
return { encryptedData: data };
}
// ....
async function myDecryptionModule(code, pin, data) {
const { key, iv, version } = medDeriveKey(code, pin, "britney");
return await medDecrypt({ key, iv, version }, data);
}
krypt-web
is deployed to npm, and new releases are deployed by CircleCI after creating a Github release.
To create a new release:
- Ensure your changes are merged to master
- Create a new Github release with the correct name (Release x.x.x) and tag (x.x.x). Your release must include a description of the changes included in the release
- CircleCI will then pick up the new tag and automatically build, test and publish the new version.
yarn test
yarn test:watch
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Christos Paschalidis
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
-
Lanwen for his guidance and onto the point feeback.
-
Herman Rogers for his initial work on the project.