@bussolaamazony/encrypt-card
v2.0.2
Published
Responsible for encrypting credit card data.
Downloads
1
Readme
Bussola Amazony Encrypt Card
Biblioteca criada com o intuito de criptografar os dados de um cartão provenientes de um formulário antes de enviá-los ao back-end, para se manter em conformidade com as normas PCI DSS.
Instalação
npm i @bussolaamazony/encrypt-card
Exemplo de uso
Importe a biblioteca:
import { EncryptCard } from '@bussolaamazony/encrypt-card';
Aqui você pode utilizar o axios para enviar o token e iv com segurança ao back-kend:
let cardData = {
number: '5505 9304 7936 7317',
holder: 'holder example card',
exp_month: '05',
exp_year: '2024',
cvc: '216',
};
EncryptCard.encrypt(cardData, 'your-256-bit-secret-key').then(data => {
console.log('Encrypted Token: ' + data.token);
console.log('IV (Initialization Vector): ' + data.iv);
});
Utilize OpenSSL no back-end para descriptografar os dados, segue exemplo em PHP:
$decrypted = openssl_decrypt(base64_decode($_REQUEST['Encrypted Token']), 'aes-256-cbc', 'your-256-bit-secret-key', OPENSSL_RAW_DATA, base64_decode($_REQUEST['IV (Initialization Vector)']));
if ($decrypted === false) {
throw new \Exception(openssl_error_string());
}
$cardData = json_decode($decrypted);
Utilize OpenSSL para gerar sua key 256 secret:
# Gerar uma chave de 256 bits (32 bytes) aleatória em hexadecimal
openssl rand -hex 32