Skip to content

Instantly share code, notes, and snippets.

@samtgarson
Created July 26, 2018 15:34
Show Gist options
  • Save samtgarson/3f4fd3ea3485b0db4894a99bc1c8e186 to your computer and use it in GitHub Desktop.
Save samtgarson/3f4fd3ea3485b0db4894a99bc1c8e186 to your computer and use it in GitHub Desktop.
Encrypt a message using kbpgp
var kbpgp = require("kbpgp")
const public = `-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: BCPG C# v1.6.1.0
mQENBFtXU7oBCAC1nvlknl749u67IPQEkOYJcZN4pq83w3mQdOIF3uRwpbjWtKmn
fVxckUS/N9KlGjoI26jp1DLrHE1yr1sfDapLHDjiM0w+lnOV3Rukj1O4LIPdZqiS
u1ZPGpaQxlV0jEgUAlANOtGxKDn/uOXx3yk4264/15uvVTLqrKLGTxLJ9jUxJWBs
v6Z2mnQhAC8fvMNMjNxgJBQIi/ij/kgm8eRyh4kzOX8IoyDs2HoM5HTwujYcVsw+
jcAcuu929/ZR73fzBQcYGtBgHZf0ELs3hORQEUuTzaIdvVXyVG+lu17bfAH7/6FD
wC0V3goe3csri7tUzLHoSNy+eneY0iM1XegBABEBAAG0DnRlc3RAZ21haWwuY29t
iQEcBBABAgAGBQJbV1O6AAoJEB1QyQR3D5EsQxUH/2KwnKq98xCL21BscisyRzMl
OkGM/wu1alv1bU43GwbLipKtu7VOQmxTxB5aFca45AL/bsOuQr/b5AU+ssTTDGfj
86r9YGtxLXJqeYmw/r7rKFxHl7mByeHdYhO0KYJrR3YXKz71XTvZ399ncYeh8Dwl
I37CK0VMCqIqFyA0txb5yfG9f6KY75Kg/8e2kY5y1JX+p/Gf2zQzOFTJs7e60MVw
2lDXwP95XSh138qS9u1dXYZrRjEcYE9+oNnqurDzCzi4zoUPD47KqW4920xDnR2J
NOUY5EKRgTL9e6l/ws/wu/rwGQiSz0/SDeNbwcwa7ghh9Jydv2tdgvWi1nKI1yQ=
=5dAi
-----END PGP PUBLIC KEY BLOCK-----`
var timer = 0
const createKeyManager = key => new Promise((resolve, reject) =>
kbpgp.KeyManager.import_from_armored_pgp({ armored: key }, function(err, km) {
if (err) return reject(err)
return resolve(km)
})
)
const encrypt = params => new Promise((resolve, reject) =>
kbpgp.box(params, function(err, result_string, result_buffer) {
if (err) return reject(err)
return resolve(result_string)
})
)
const run = async msg => {
const km = await createKeyManager(public)
const params = {
msg: msg,
encrypt_for: km
}
return encrypt(params)
}
setInterval(() => { timer += 1 }, 1)
run('this is my message!').then(m => console.log(m, timer))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment