Link Lock
Password-protect URLs using AES in the browser.
About
Link Lock is a tool for encrypting and decrypting URLs. When a user visits an encrypted URL, they will be prompted for the password. If the password is correct, Link Lock decrypts the original URL and redirects there. Otherwise, an error is displayed. If a hint is added, it is displayed right above the password prompt.
Link Lock has many uses:
- Store private bookmarks on a shared computer
- Encrypt entire web pages (via URL Pages)
- Send sensitive links over public or insecure channels (e.g., posting links to a public website that require a password to access)
- Simple CAPTCHAs – particularly effective against basic web scrapers that do
not respect
robots.txt
- Add a password to shared Dropbox or Google Drive links
Examples
- Regular link encryption - Password: hackernews
- Encrypt entire pages - Password: urlpage5
- Use as a simple CAPTCHA
- Emoji support - Password: 🥑
- Riddles in the dark - The password is a single, lowercase word
Disclaimer
- I am a college student, not a security professional – there may be best-practices I am not aware of.
- Once someone decrypts a link, they can share the original URL as much as they want. Only share encrypted links with trusted people.
- I am not comfortable using JavaScript, and I don't have a firm grasp of the nuances of the language – there may be bugs that I don't even know to check for.
- This is the first project I have ever done using encryption – there is likely a subtle mistake somewhere.
- Most of the encryption/decryption code is based on MDN
tutorials
for the
SubtleCrypto
API