All Projects → raja → Argon2pw

raja / Argon2pw

Licence: gpl-3.0
Argon2 password hashing package for go with constant time hash comparison

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Argon2pw

Masterpassword
Project moved to https://gitlab.com/spectre.app
Stars: ✭ 1,122 (+1220%)
Mutual labels:  cryptography, passwords
Lockbox Extension
Experimental Firefox extension for login management experiences, not being actively developed
Stars: ✭ 130 (+52.94%)
Mutual labels:  cryptography, passwords
Password4j
Password4j is a user-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various cryptographic hash functions.
Stars: ✭ 124 (+45.88%)
Mutual labels:  cryptography, argon2
Orion
Usable, easy and safe pure-Rust crypto
Stars: ✭ 227 (+167.06%)
Mutual labels:  cryptography, argon2
Fscrypt
Go tool for managing Linux filesystem encryption
Stars: ✭ 534 (+528.24%)
Mutual labels:  cryptography, argon2
Bitcracker
BitCracker is the first open source password cracking tool for memory units encrypted with BitLocker
Stars: ✭ 463 (+444.71%)
Mutual labels:  cryptography, passwords
Argon2rs
The pure-Rust password hashing library running on Argon2.
Stars: ✭ 157 (+84.71%)
Mutual labels:  cryptography, argon2
Halite
High-level cryptography interface powered by libsodium
Stars: ✭ 933 (+997.65%)
Mutual labels:  cryptography, argon2
Lazysodium Android
An Android implementation of the Libsodium cryptography library. For the lazy dev.
Stars: ✭ 69 (-18.82%)
Mutual labels:  cryptography, argon2
Acvp
Industry Working Group on Automated Cryptographic Algorithm Validation
Stars: ✭ 76 (-10.59%)
Mutual labels:  cryptography
Recrypt Rs
A set of cryptographic primitives for building a multi-hop Proxy Re-encryption scheme, known as Transform Encryption.
Stars: ✭ 81 (-4.71%)
Mutual labels:  cryptography
Simon speck ciphers
Implementations of the Simon and Speck Block Ciphers
Stars: ✭ 74 (-12.94%)
Mutual labels:  cryptography
Dumb Passwords
Don't let your user be a victim of their own action
Stars: ✭ 77 (-9.41%)
Mutual labels:  passwords
Pwned Passwords
🔐Go client library for checking values against compromised HIBP Pwned Passwords
Stars: ✭ 81 (-4.71%)
Mutual labels:  passwords
2016lykagguvenligivesizmatestleri
Network Security Notes ☔️
Stars: ✭ 75 (-11.76%)
Mutual labels:  cryptography
Beamsplitter
💎 Beamsplitter - A new (possibly universal) hash that passes SMHasher. Built mainly with a random 10x64 S-box. Also in NodeJS
Stars: ✭ 83 (-2.35%)
Mutual labels:  cryptography
Libbls
BLS signatures, threshold encryption, distributed key generation library in modern C++. Actively maintained and used by SKALE for consensus, distributed random number gen, inter-chain communication and protection of transactions. BLS threshold signatures can be verified in Solidity, and used as random beacon (common coin)
Stars: ✭ 74 (-12.94%)
Mutual labels:  cryptography
Veracruz
Main repository for the Veracruz privacy-preserving compute project.
Stars: ✭ 71 (-16.47%)
Mutual labels:  cryptography
Fresco
A FRamework for Efficient Secure COmputation
Stars: ✭ 83 (-2.35%)
Mutual labels:  cryptography
Bitcoin Cryptography Library
Nayuki's implementation of cryptographic primitives used in Bitcoin.
Stars: ✭ 81 (-4.71%)
Mutual labels:  cryptography

argon2pw

GoDoc Build Status Go Report Card

Argon2 password hashing package with constant time hash comparison

Preface: Argon2 was selected as the winner of the Password Hashing Competition. Argon2 is ideal for deriving cryptographic keys from passwords.

This package utilizes the Argon2i hashing algorithm that is the side-channel resistant version of Argon2. It uses data-independent memory access, which is preferred for password hashing and password-based key derivation. Argon2i requires more passes over memory than Argon2id to protect from trade-off attacks.

The generated salted hash is ideal for persistent storage in a single column as a string and is future proof if time or memory parameters for argon2i change.

Additionally, argon2pw includes a function for password comparison in constant time to prevent timing attack vectors.

Usage:

package main
import "github.com/raja/argon2pw"

 func main() {
	 // Generate a hashed password
	 testPassword := `testPassword$x1w432b7^`
	 hashedPassword, err := argon2pw.GenerateSaltedHash(testPassword)
	 if err != nil {
         log.Panicf("Hash generated returned error: %v", err)
	 }

	 // Test correct password in constant time
	 valid, err := argon2pw.CompareHashWithPassword(hashedPassword, testPassword)
	 log.Printf("The password validity is %t against the hash", valid)

	 // Test incorrect password in constant time
	 valid, err = argon2pw.CompareHashWithPassword(hashedPassword, "badPass")
	 log.Printf("The password validity is %t against the hash", valid)
 }

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].