svilen

svilen

Author of Concurrent Data Processing in Elixir

Zxcvbn for Elixir (Rust NIF) - fast password strength estimator

This is a port of the zxcvbn library, originally by Dropbox.

Unlike another similar package which was done in pure Elixir, this one is using zxcvbn-rs written in Rust and implemented as a NIF.

This was done mostly for fun, although the extra performance may be handy for low-latency apps and those using PhoenixLiveView. Difference in local benchmarks is 0-2ms vs 25-50ms depending on the password. If you don’t care about the difference, you can skip this package :nerd_face:

Hex: zxcvbn_nif | Hex
HexDocs: Zxcvbn v1.0.4 — Documentation
Source: GitHub - svileng/zxcvbn: zxcvbn for Elixir using Rust · GitHub

Hope someone finds it useful :victory_hand:

Most Liked

Schultzer

Schultzer

I just looked at the elixir impl. and without taking a deep dive it looks like there is room for potential performance improvements. Most of the code look like a 1 to 1 conversion from the coffee script, when you do that you gonna end up with code there is not optimazed for the beam, it might even be possible to simplify some of the code.

Where Next?

Popular in Announcing Top

mischov
import Meeseeks.CSS html = HTTPoison.get!("https://news.ycombinator.com/").body for story <- Meeseeks.all(html, css("tr.athing")) do...
New
wfgilman
I’ve cleaned up and open sourced three financial libraries I was using for my company. They are bindings for the APIs of these three comp...
New
kip
ex_cldr provides localisation and internationalisation support based upon the data from the Unicode CLDR project. Unicode released CLDR ...
407 13256 120
New
devonestes
Introducing assertions, the library that helps you write really great test assertions! GitHub: GitHub - devonestes/assertions: Helpful a...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 44532 311
New
tmbb
PhoenixWS - Websockets over Phoenix Channels Source code on Github here: GitHub - tmbb/phoenix_ws: Websockets implemented over Phoenix Ch...
New
mplatts
With HEEX released we decided to start a components library using Tailwind CSS - check it out here: Petal Components. We also have a boi...
New

Other popular topics Top

grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 54006 488
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 40042 209
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New

We're in Beta

About us Mission Statement