pashword
truss
Our great sponsors
pashword | truss | |
---|---|---|
30 | 5 | |
265 | 31 | |
1.9% | - | |
0.0 | 6.3 | |
3 months ago | about 2 months 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
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
-
Good dark + gradients design systems?
I'm looking for something close to https://pashword.app
-
My epic account just got hacked, I just lost over 500 dollars worth of games and accounts.
Password managers can be a bit hard to manage, people don't even bother using them. There's https://pashword.app that solves this but not many people know about it.
- Pashword - A password generator that generates passwords you don't have to remember and cannot ever forget
- Pashword – A Hashed Password Generator
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:
https://github.com/homebound-team/truss
What are some alternatives?
zxcvbn - Low-Budget Password Strength Estimation
docker-node-example - An example Node / Express app that's using Docker and Docker Compose.
gitgrep - Lightning fast code searching made easy
headwind - An opinionated Tailwind CSS class sorter built for Visual Studio Code
hckrweb - Hcker News mobile web app
class-types.macro
rgca - Experiment in SSL CA management.
beam - 🪵 Beam Design System
pwgen-for-bios - Password generator for BIOS
tailblocks - Ready-to-use Tailwind CSS blocks.
Qwickly - An easy to learn keyboard layout that's fast and comfortable to type.
TimescaleDB - An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.