pashword
react-18
Our great sponsors
pashword | react-18 | |
---|---|---|
30 | 139 | |
265 | 5,173 | |
1.9% | 0.2% | |
0.0 | 0.0 | |
3 months ago | almost 3 years ago | |
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
react-18
-
Simulate global state tradeoffs in React concurrent mode
If you aren't sure why state tearing was a hot topic a few years ago, when React's concurrent mode was first discussed, this github discussion should help: https://github.com/reactwg/react-18/discussions/69.
Tanner Linsley had a great post on twitter that suggested that concurrent rendering was fundamentally at odds with fine-grained reactivity, so to better understand what he was talking about I decided to write this demo.
- A modest request: How do you fetch data in React 18+ WITHOUT a third party dependency?
-
The Sisyphean Quest for Web Performance
Image Source: https://github.com/reactwg/react-18/discussions/37
-
useAsyncState in react, no more unnecessary useEffects.
But it does since React 18.
-
Function props
See this post for more details and an example of an actual memory leak.
-
ELI5, why is ReactDOM.createRoot an improvement over ReactDOM.render?
From the React WG:
- I know my component is re-rendering because a console.log I put in the component is logging in the console. However when I use the inspector to see why it re-rendered, its saying that it didnt re-render. How is this possible?
- Timeout in event handler
-
The current state of CSS-in-JS + React
The React working group is officially advising against using runtime CSS-in-JS.
- Warning abt setting state of unmounted component
What are some alternatives?
zxcvbn - Low-Budget Password Strength Estimation
Preact - ⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.
gitgrep - Lightning fast code searching made easy
htmx - </> htmx - high power tools for HTML
rgca - Experiment in SSL CA management.
petite-vue - 6kb subset of Vue optimized for progressive enhancement
pwgen-for-bios - Password generator for BIOS
react-query - 🤖 Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query]
Qwickly - An easy to learn keyboard layout that's fast and comfortable to type.
React - The library for web and native user interfaces.
hckrweb - Hcker News mobile web app
zustand - 🐻 Bear necessities for state management in React