sc-crypto-utils
v1.0.8
Published
Biblioteca TypeScript com utilitários para geração de hash e assinaturas digitalmente.
Maintainers
Readme
sc-crypto-utils
Biblioteca TypeScript para utilitários criptográficos: geração de hashes, chaves, assinatura e criptografia assimétrica.
✨ Recursos
- 🔐 Geração de hashes seguros
- 🧾 Geração e uso de par de chaves públicas/privadas (RSA)
- 🛡️ Criptografia e descriptografia com chaves públicas (RSA)
- 🔏 Assinatura e verificação de dados
📦 Instalação
npm install sc-crypto-utilsou
yarn add sc-crypto-utils🔧 Uso básico
import { CryptoUtils } from 'sc-crypto-utils';
// Gerar par de chaves
const { publicKey, privateKey } = CryptoUtils.generateKeyPair();
// Geração de hash
const hash = CryptoUtils.generateHash('meu texto');
// Geração de KEK (Key Encryption Key)
const dek = CryptoUtils.generateDEK();
const kek = CryptoUtils.generateKEK(publicKey, dek);
// Assinar e verificar
const signature = CryptoUtils.signData('mensagem', privateKey);
const isValid = CryptoUtils.verifySignature('mensagem', signature, publicKey);📘 API
generateKeyPair(): { publicKey: string, privateKey: string }
Gera um par de chaves RSA 2048 bits, codificadas em PEM.
generateHash(data: string): string
Gera um hash SHA-256 em base64.
generateDEK(): string
Gera uma chave de criptografia simétrica (DEK) aleatória de 32 bytes, codificada em base64.
generateKEK(publicKey: string, dek: string): string
Criptografa o DEK com a chave pública informada (em formato PEM ou base64 do PEM).
signData(data: string, privateKey: string): string
Assina os dados com uma chave privada RSA. Retorna a assinatura em base64.
verifySignature(data: string, signature: string, publicKey: string): boolean
Verifica se a assinatura corresponde aos dados com base na chave pública.
🧪 Testes
Para rodar os testes com Vitest:
npm test🛠️ Desenvolvimento
Compilar o projeto:
npm run build📄 Licença
🙋♂️ Autor
Desenvolvido por Saulo Costa.
