Naughty Platypus Memorabilia

    @credify/crypto
    TypeScript icon, indicating that this package has built-in type declarations

    1.3.10 • Public • Published

    npm

    @credify/crypto (JavaScript)

    Crypto related functions and helpers for JavaScript implemented in TypeScript.

    How to install

    NPM

    // yarn
    $ yarn add @credify/crypto
    
    // npm
    $ npm install @credify/crypto

    CDN

    <script src="https://cdn.jsdelivr.net/npm/@credify/crypto@0.19.0/dist/index.min.js"></script>

    How to use

    Encryption

    import { Encryption } from "@credify/crypto";
    
    const privateKeyPem =
    `-----BEGIN PRIVATE KEY-----
    MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDrEavVupOf+G7U
    83oh0TKLK0U+9BdY4cgPCe66gyLodY9NF7+r9NgZHlsSOaXXTCEJOo8/rb+JFW34
    ....
    agUydf7cXbP1YoOBizTgt/WBiQk47Ym4JvEWDTHmEsT4snYjujiMvAlAS37JyvWD
    osQZlO5eDVv0XR3aNy5pOR/ouC0o8a8=
    -----END PRIVATE KEY-----`;
    
    const cipherText = "XGI1icHgMVuTvYLMEwXp...YCfEqkHxv5FdyWaw="; // base64 encoded string
    
    const encryptionSample = async () => {
      const encryption = new Encryption();
      await encryption.importPrivateKey(privateKeyPem);
      const plainText = await encryption.decryptBase64StringToString(cipherText);
      console.log(plainText);
    }

    Signing

    import { Signing } from "@credify/crypto";
    
    const privateKeyPem = `-----BEGIN PRIVATE KEY-----
    MC4CAQAwBQYDK2VwBCIEIPqO4b4UtXSaWGp5u38rCXYu4/LdbaSk7lD46LtRUu44
    -----END PRIVATE KEY-----`;
    
    const message = "test message";
    
    const signing = new Signing();
    signing.importPrivateKey(privateKeyPem);
    const sign = signing.sign(message, { input: "utf8" });
    const verified = signing.verify(message, sign);
    console.log(verified) // true

    Asymmetric Encryption

    @credify/crypto supports RSA encryption with 4096 bit length keys. Its padding scheme uses OAEP.

    Signing

    @credify/crypto utilizes EdDSA. This supports Curve25519.

    PKCS #8

    In order to simply deal with private keys, this uses PKCS #8.

    More information

    https://developers.credify.one/

    Requirements

    • Node.js 10+

    License

    @credify/crypto is released under the MIT license. See LICENSE for details.

    Keywords

    Install

    npm i @credify/crypto

    DownloadsWeekly Downloads

    224

    Version

    1.3.10

    License

    MIT

    Unpacked Size

    311 kB

    Total Files

    6

    Last publish

    Collaborators

    • ngo275
    • credify-pte-ltd