pashword
truss
Our great sponsors
pashword | truss | |
---|---|---|
30 | 5 | |
265 | 31 | |
1.5% | - | |
0.0 | 6.3 | |
3 months ago | about 1 month ago | |
TypeScript | TypeScript | |
GNU Affero General Public License v3.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pashword
-
Show HN: Pashword – Hashed Password Calculator
Source Code: https://github.com/pashword/pashword
I built this webapp a few months ago because I forgot my bank account password and got locked out. A few days later, my friend complained to me about the same problem, he forgot his password and couldn't login.
This was a fun way to learn more about cryptography and hashing in detail and it was a lot of fun creating something that I would personally use.
I am well aware of the pitfalls and shortcomings of using such a tool but to be honest, I like Pashword because it suits my threat model and it's very convenient for me to use as well.
Would love to know what HN thinks about it and if there's anything I could do to improve it as well :)
This is beautifully done, great design work.
Scrypt for password stretching seems good. I see you're using CPU cost of 2^15. When storing a password hash you'd want to use 2^17 (with agility to change algorithm or increase cost in the future) [1]. Since you're not storing the result, I suspect the lower number is reasonable.
I don't like simple concatenation when building a salt from two variable length fields. You'll get the same salt for `"foo" + "bar"` and `"foob" + "ar"`, but the salt should be unique. Although I don't think that's an issue for this project since the first is a website.
Using the website in the salt has some issues when there are multiple domains that use the same password. Do I use mail.google.com, auth.google.com, or google.com? trello.com or atlassian.net? What if the website it bought and the new owner changes the domain name? With a password manager, I can just look in my vault to figure out the old domain name.
Phishing is a major way passwords are stolen and this project doesn't seem to do anything to protect against that. A browser extension (and mobile app), that checks the domain name before showing/filling the password could help.
The secret key field let me use `1234` as the key, although the color of the field was red. I think this should either prevent obviously weak passphrases or show a much more obvious warning if when one is used. Using a password found in a breach is also a bad idea (even it the password looks strong). You don't have a way to check HIBP, so users will be vulnerable if they make that mistake. It's too easy to make a critical mistake with the current design.
A bug: I filled out the form but forgot to enable JavaScript. The form posted my passphrase back to the server (https://pashword.app/?website=google.com&username=me&passphr...). I'd recommend changing the form so the submit button doesn't do anything when JS isn't loaded, otherwise the server will learn users passphrases. This is also a good place to remember that the user fully trusts that you wont steal their info (I'm not sure why anyone should trust that).
Also check out other similar projects, lots of discussion which likely applies here as well. I believe one of these supports uses a counter to support password rotation. You'd just need to remember the counter value for each site.
* LessPass - https://news.ycombinator.com/item?id=12889807
- Ask HN: Tools you have built for yourself?
- Hard reset every day
- Design-first open source softwares, is that a thing/possible?
-
Why Tailwindcss over styled-components?
Just take a look here: https://github.com/pashword/pashword/blob/main/pages/index.tsx
-
Pashword - FOSS Hashed Password Generator - Works without internet, Works anywhere, Never forget your passwords ever again.
Source Code/Star it on Github: https://github.com/NayamAmarshe/pashword
-
I forgot my bank account password and got locked out (not the first time), so I made a webapp that generates strong passwords that I don't need to remember. After months of work, here it is! A FOSS Webapp that works offline! Never forget passwords ever again!
Fully FOSS, Everything happens on the client side. Source Code: https://github.com/NayamAmarshe/pashword
truss
-
StyleX – Meta's Styling Library
Nice! We copied StyleX's "type-safe extensions" in Truss [1] so things like `` are allowed (setting margin is fine) while disallowing `` (anything "not margin") that would mess up the components internal impl details with a compile error.
That said, we don't actually use the feature that much, vs. higher-level logical props like ``.
I know we're supposed to use build-time CSS-in-JS these days, but afaiu they don't support the rare-but-handy "just spread together ~4-5 different object literals from ~random different conditionals + props", i.e. intermixing styles some inside the component + outside the component, which emotion handles really well.
Basically this [2]. StyleX says it does "cross-file styles"...but can it support that? I kinda assume not, but I'm not sure.
[1]: https://github.com/homebound-team/truss#xstyles--xss-extensi...
[2]: https://github.com/homebound-team/beam/blob/main/src/compone...
-
What working with Tailwind CSS every day for 2 years looks like
Fwiw to the avoid 80%-in-TW / 20%-in-SCSS-or-something-else dichotomy/complexity, we built Truss which brings TW (Tachyons) style abbreviations to the existing "something else" tool chain (Emotion in our case).
So then everything goes through a single system.
https://github.com/homebound-team/truss
> tailwind's and SCSS's VS code integration is pretty amazing
We get that too, by being just vanilla TypeScript, no editor-specific integration necessary. :-D
(I've linked to Truss in another response, so will stop now. :-))
- Why Tailwindcss over styled-components?
- Ask HN: Who is hiring? (November 2021)
-
TailwindCSS JIT with Arbitrary Values
Don't want to take away from Tailwind, it's great.
That said, self-promotion disclaimer but if you like inline/utility CSS, and also like TypeScript/React/Emotion, we've got a "Tailwinds-ish" CSS-in-JS library that we've enjoyed so far:
What are some alternatives?
docker-node-example - An example Node / Express app that's using Docker and Docker Compose.
zxcvbn - Low-Budget Password Strength Estimation
headwind - An opinionated Tailwind CSS class sorter built for Visual Studio Code
class-types.macro
beam - 🪵 Beam Design System
gitgrep - Lightning fast code searching made easy
docker-flask-example - A production ready example Flask app that's using Docker and Docker Compose.
TimescaleDB - An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
tailblocks - Ready-to-use Tailwind CSS blocks.
pwgen-for-bios - Password generator for BIOS
rgca - Experiment in SSL CA management.
headlong - Tailwind CSS on the fly without PostCSS