Last active
May 30, 2024 15:57
-
-
Save chris-rock/6cac4e422f29c28c9d88 to your computer and use it in GitHub Desktop.
Encrypt and decrypt buffers in nodejs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Part of https://github.com/chris-rock/node-crypto-examples | |
var crypto = require('crypto'), | |
algorithm = 'aes-256-ctr', | |
password = 'd6F3Efeq'; | |
function encrypt(buffer){ | |
var cipher = crypto.createCipher(algorithm,password) | |
var crypted = Buffer.concat([cipher.update(buffer),cipher.final()]); | |
return crypted; | |
} | |
function decrypt(buffer){ | |
var decipher = crypto.createDecipher(algorithm,password) | |
var dec = Buffer.concat([decipher.update(buffer) , decipher.final()]); | |
return dec; | |
} | |
var hw = encrypt(new Buffer("hello world", "utf8")) | |
// outputs hello world | |
console.log(decrypt(hw).toString('utf8')); |
Yes, I download encrypted buffer with a rest api like content-type application/pdf and attachments headers. What I'm looking for is to protect the pdf with a password, so I can open it only with this password.
@hdiaz-nectia That's totally out of the scope of this example, sorry. Anything encrypted with this method would have to be decrypted the same way. You'd be better of archiving the pdf & using any kind of password protection that archive gives you. Or maybe PDF has some built-in password protection?
Thanks!!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@omidnikrah Sorry, I didn't get any notifications from Gist :/ I hope you figured it out by now, can't really help because I don't know what
dist
is in your case :)@hdiaz-nectia You're manually encrypting the buffer with this method & downloading that encrypted buffer with a browser, without decrypting it on the client side? What you're downloading then is the encrypted buffer, any program opening it will not understand what's in it... because it's encrypted :) Or am I misunderstanding something here?