comeonin_ecto_password alternatives and similar packages
Based on the "ORM and Datamapping" category.
Alternatively, view comeonin_ecto_password alternatives based on common mentions on social networks and blogs.
-
ecto
A toolkit for data mapping and language integrated query. -
eventstore
Event store using PostgreSQL for persistence -
memento
Simple + Powerful interface to the Mnesia Distributed Database 💾 -
paper_trail
Track and record all the changes in your database with Ecto. Revert back to anytime in history. -
rethinkdb
Rethinkdb client in pure elixir (JSON protocol) -
ExAudit
Ecto auditing library that transparently tracks changes and can revert them. -
xandra
Fast, simple, and robust Cassandra/ScyllaDB driver for Elixir. -
ecto_psql_extras
Ecto PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more. -
ecto_mnesia
Ecto adapter for Mnesia Erlang term database. -
timex_ecto
An adapter for using Timex DateTimes with Ecto -
arbor
Ecto elixir adjacency list and tree traversal. Supports Ecto versions 2 and 3. -
sqlitex
An Elixir wrapper around esqlite. Allows access to sqlite3 databases. -
boltun
Transforms notifications from the Postgres LISTEN/NOTIFY mechanism into callback execution -
couchdb_connector
A couchdb connector for Elixir -
sql_dust
Easy. Simple. Powerful. Generate (complex) SQL queries using magical Elixir SQL dust. -
walex
Listen to Postgres change events and do stuff with the data directly in Elixir -
neo4j_sips
Elixir driver for the Neo4j graph database server
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of comeonin_ecto_password or a related project?
README
Comeonin Ecto Password
A custom Ecto type for storing encrypted passwords using Comeonin
For ecto 1 compatibility use the ecto-1
branch.
Version 3.x is compatible with comeonin
~> 5.0, use version 2.x for compatibility with older versions.
Usage
On your schema, define secure fields with this type:
field :password, Comeonin.Ecto.Password
Then on your changeset simply cast from plain-text params
changeset
|> cast(attrs, [:password])
|> validate_required([:password])
After casting the password will already be encrypted in the changeset, and can be saved to your table's string column.
To check for validity, do something like:
user = Repo.get_by(User, email: "[email protected]")
Comeonin.Ecto.Password.valid?("plain_password", user.password)
Configuration
In your environment file, choose one of Pbkdf2
, Bcrypt
, Argon2
.
The default is 'Pbkdf2, but you still need to include it in your
mix.exs`!
config :comeonin, Ecto.Password, Pbkdf2
# when using pkbdf2
config :comeonin, :pbkdf2_rounds, 120_000
config :comeonin, :pbkdf2_salt_len, 512
# when using bcrypt
config :comeonin, :bcrypt_log_rounds, 14
Also, be sure to look at comeonin config
Installation
Available in Hex, the package can be installed as:
Add comeonin_ecto_password to your list of dependencies in mix.exs
:
def deps do
[{:comeonin_ecto_password, "~> 3.0.0"}]
end