ice-client
v0.7.1
Published
Encrypt sensitive data at rest
Downloads
8
Maintainers
Readme
𝖨𝖢𝖤. 𝖨𝗇𝗍𝗋𝗎𝗂𝗌𝗂𝗈𝗇 𝖢𝗈𝗎𝗇𝗍𝖾𝗋𝗆𝖾𝖺𝗌𝗎𝗋𝖾𝗌 𝖤𝗅𝖾𝖼𝗍𝗋𝗈𝗇𝗂𝖼𝗌
Encrypt your secrets and sensitive data at rest.
QuickStart
Create a Node.JS project with the ICE client
$ git init ice-client-demo && cd ice-client-demo $ npm init -y $ npm install ice-client dotenv --save
require('dotenv').config(); var ice = require('ice-client'); ice.encrypt("neuromancer", function(err, ciphertext) { console.log("ciphertext:", ciphertext.toString('base64')); ice.decrypt(ciphertext, function(err, plaintext) { console.log("plaintext:", plaintext.toString()); }); })
Get an ICE access key. The fastest way is through the Heroku ICE Addon.
$ heroku create ice-client-demo Creating ⬢ ice-client-demo... done $ heroku addons:add ice Creating ice on ⬢ ice-client-demo... free Created ice-corrugated-21355 as ICE_AWS_ACCESS_KEY_ID, ICE_AWS_SECRET_ACCESS_KEY, ICE_ENCRYPTION_CONTEXT, ICE_KEY_ARN $ heroku config -s ICE_AWS_ACCESS_KEY_ID=AKIAJ2CNXCVNUZ5UDZAQ ICE_AWS_SECRET_ACCESS_KEY='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' ICE_ENCRYPTION_CONTEXT='ctx=night-construct-1443' ICE_KEY_ARN='arn:aws:kms:us-east-1:178540880712:key/b6b5f625-6603-471a-a6dd-962fa51d4c0a' $ heroku config -s > .env
Use the ICE client and backing cryptography service to encrypt and decrypt data.
$ node index.js ciphertext: AQECAHhUH3SgfMwR3l/3GhIC4MjA43IDifWWdSXIVR0nbqnHkwAAAGkwZwYJKoZIhvcNAQcGoFowWAIBADBTBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDJPX7Xptjiilx9m2AQIBEIAmUMLbAMoVZdoCTNLZMDDiwdt5A5rNx/TrQCvdj6/wTlBP39xBZH0= plaintext: neuromancer
Authors
- Noah Zoschke
License
Apache 2.0