New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

encryptoo

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

encryptoo

Biblioteca de Criptografia com troca de chaves Diffie Hellman.

latest
Source
npmnpm
Version
1.1.0
Version published
Weekly downloads
4
-42.86%
Maintainers
1
Weekly downloads
 
Created
Source

EncryptoO 🔐

Biblioteca de criptografia com troca de chaves Diffie Hellman.

Created by André Oliveira (@oliveira086)

Node.js (Install)

Pré requisitos:

  • Node.js
  • npm (Node.js package manager)
npm install Encryptoo

Utilização

Importação

Utilizando com Es6:

import Encryptoo from 'encryptoo';
const localPublicKey = Encryptoo.init();

Outro modo:

const Encryptoo = require('encyptoo');
const localPublicKey = Encryptoo.init();

Troca de chaves

O fluxo de troca de chaves deve partir do frontend para o backend. O front deve montar um objeto semelhate esse abaixo:

  {
    clientPublicKey: Encryptoo.init()
  }

Após montar o objeto deverá realizar uma requisição post ao seu backend.

Após receber a requisição no backend você deve enviar sua chave publica como resposta da requisição, para o frontend.

let serverPublicKey = Encryptoo.init();

response.status(200).json({
  serverPublicKey: serverPublicKey,
}).send();

Depois de receber a chave publica do frontend você decide a melhor forma de atrelar aquela chave com a sessão atual do front. Com a chave publica do frontend você já consegue encryptar e decryptar as informações fornecidas pelo front como também ele consegue decryptar as informações que o backend envia.

Encrypt 🔒

import Encryptoo from 'encryptoo';
const cryptogram = Encryptoo.encrypt(plainText, serverPublicKey);

EncryptBody 🔒

import Encryptoo from 'encryptoo';
const cryptogram = Encryptoo.encryptBody(object, serverPublicKey);

Decrypt 🔓

import Encyptoo from 'encryptoo';
const plainText = Encryptoo.decrypt(textEncrypted, serverPublicKey);

DecryptBody 🔓

import Encyptoo from 'encryptoo';
const plainText = Encryptoo.decryptBody(object, serverPublicKey);

Compare 🤝

import Encryptoo from 'encryptoo';
const verifySing = Encryptoo.compare(plainText, cryptogram, serverPublicKey);

Set secret 🔑⬅️

import Encryptoo from 'encryptoo';
Encryptoo.setSecret(secret);

O segredo deve ter 32 bytes

Get secret 🔑➡️

import Encryptoo from 'encryptoo';
const secret = Encryptoo.getSecret(serverPublicKey);

Função importante principalmente para o lado do servidor. Em toda nova troca de chaves do lado do servidor você deve passar o parametro isServer = true. Exemplo:

  Encryptoo.getSecret(serverPublicKey, true);

Assim em toda nova troca de chaves do lado do servidor a chave será gerada corretamente.

Caracteristicas

  • Troca de chaves Diffie Hellman
  • Criptografia AES

Atualizações futuras

  • Adicionar suporte para Typescript - Implementado por @4lessandrodev.
  • Adicionar método de sign - Implementado por @fgalmeida.
  • Adicionar criptografia RSA.
  • Encapsular o SHA3

Notas de Atualizações

1.1.0 ✅

  • Ajuste da função do calculo do secredo criptografico para multi troca de chaves. Ajustado para multi instâncias e multi usuários.

1.0.10 ✅

  • Implementação de types e suporte para typescript para as funções de encrypt e decrypt body

1.0.9 ✅

  • Nessa versão foi implementada o decrypt body em versão beta, essa funcionalidade visa receber um objeto com os valores criptografados e devolver eles abertos e vice versa

1.0.8 ✅

  • Implementação de types e suporte para typescript

1.0.7 ✅

  • Implementação do metodo de compare(sign) para verificar se aquele criptograma realmente foi crifrado por o sistema devido.
  • Foi adicionado os metodos de inserção de um segredo criptografico e a sua visualização

1.0.6 ✅

Implementação dos metódos principais de encrypt e decrypt utilizando a troca de chaves Diffie Hellman e criptografia AES.

Keywords

AES

FAQs

Package last updated on 06 Mar 2026

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