Comments (2)
Interesting! So basically the idea would be to be able to have a
import passwordProtect from 'staticrypt';
const passwordProtectedHtml = passwordProtect(plainTextHtml);
// write on disk, do whatever
Something like that?
A couple of places that can be used for inspiration are the index_template.html, which shows how to encrypt a file in-browser, or you can check-out how the encodeWithHashedPassword
function from the codec.js file is used (with the await cryptoEngine.hashPassword(password, salt)
).
As I'm writing this I'm realizing it might just be a matter of doing something like
const hashedPassword = await cryptoEngine.hashPassword(password, salt);
const passwordProtectedHtml = await codec.init(cryptoEngine).encodeWithHashedPassword(plainTextHtml, hashedPassword);
I guess there could be a wrapper with a simpler API if needed.
One footgun here is on the salt - the remember-me feature (or auto-decrypt link) is dependent on the salt staying constant if you encrypt the file multiple times. That's why staticrypt generates a .staticrypt.json config file with just the salt by default (see more here).
from staticrypt.
That points me in the right direction at least :)
I think this project needs more documented samples like this where the functionality I'm looking for technically exists, but it isn't surfaced very well in the existing documentation, and the gotchas (like the salt in .staticrypt.json
) are noted but no remedies or boilerplate are suggested.
I would def be inclined to tinker with your suggestions and formulate some cookbook style snippets to accomplish my goals and submit them back to the project README.md
:)
from staticrypt.
Related Issues (20)
- Cannot destructure property 'subtle' of 'crypto' as it is undefined. HOT 11
- Missing Package in Latest Release 3.1.0 HOT 2
- Error: Cannot find module 'node:crypto' HOT 3
- Feature: Support usernames, with database HOT 6
- Nothing is happening when clicking "decrypt" on encrypted pages HOT 2
- The `--remember false` option does not work HOT 1
- Page not protected until reload HOT 7
- Question - Is it possible to still use CryptoJS? HOT 4
- setup doesn't work reliably & no CSS HOT 5
- Did not generate encrypted content with "--share" HOT 1
- Auto remember me from shareable link HOT 6
- Please update the home page interface to be compatible with mobile browsers HOT 2
- Encrypt directories recursively but only HTML files HOT 2
- Encrypt page but with no password prompt box HOT 2
- Where have i gone wrong? HOT 2
- Browser Back Navigation Does Not Work HOT 6
- crypto.subtle missing on Safari iOS 17.3.1 HOT 2
- staticrypt not rendering in-place as expected HOT 2
- Pages not loading after decryption. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from staticrypt.