1.0.13 • Published 1 year ago

encryptoo v1.0.13

Weekly downloads
-
License
none
Repository
github
Last release
1 year ago

EncryptoO 🔐

Uma biblioteca de criptografia com troca de chaves embutida

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);

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.

Notas de Atualizações

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.

1.0.11

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago