Skip to content

Instantly share code, notes, and snippets.

@eyecatchup
Created April 14, 2022 07:39
Show Gist options
  • Star 15 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save eyecatchup/2d700122e24154fdc985b7071ec7764a to your computer and use it in GitHub Desktop.
Save eyecatchup/2d700122e24154fdc985b7071ec7764a to your computer and use it in GitHub Desktop.
Calculate SAPISIDHASH
async function getSApiSidHash(SAPISID, origin) {
function sha1(str) {
return window.crypto.subtle.digest("SHA-1", new TextEncoder("utf-8").encode(str)).then(buf => {
return Array.prototype.map.call(new Uint8Array(buf), x=>(('00'+x.toString(16)).slice(-2))).join('');
});
}
const TIMESTAMP_MS = Date.now();
const digest = await sha1(`${TIMESTAMP_MS} ${SAPISID} ${origin}`);
return `${TIMESTAMP_MS}_${digest}`;
}
const SAPISIDHASH = await getSApiSidHash(document.cookie.split('SAPISID=')[1].split('; ')[0], 'https://photos.google.com');
console.log(SAPISIDHASH);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment