Skip to content

Instantly share code, notes, and snippets.

@koonuf
Last active May 25, 2019 14:46
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save koonuf/8e49c4848ebf9fcc1ebd to your computer and use it in GitHub Desktop.
Save koonuf/8e49c4848ebf9fcc1ebd to your computer and use it in GitHub Desktop.
var crypto = require("crypto");
function generateSecurePathHash(url, expires, secret) {
if (!url || !expires || !secret) {
return undefined;
}
var input = expires + url + " " + secret;
var binaryHash = crypto.createHash("md5").update(input).digest();
var base64Value = new Buffer(binaryHash).toString('base64');
return base64Value.replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
}
generateSecurePathHash('/img/file.doc', Math.ceil(Date.now() / 1000) + 8, "6q3R9jhzG5"); // link expires in 8 seconds
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment