profile.updated webhook payload.
Hash formats
FunnelFox normalizes all passwords to UTF-8 NFC before hashing. Password hashes are provided in four formats:argon2id— modern, secure algorithm (PHC format)bcrypt— widely supported (standard bcrypt format)pbkdf2_sha256— PBKDF2-HMAC-SHA256 (PHC format)scrypt— memory-hard algorithm (PHC format)
Argon2ID
PHC format:$argon2id$v=19$m=65536,t=3,p=4$<base64-salt>$<base64-hash>
Parameters:
- Memory: 65536 KiB (64 MB)
- Time cost: 3 iterations
- Parallelism: 4 threads
- Hash length: 32 bytes
- Salt length: 16 bytes
BCrypt
Standard format:$2a$12$<22-char-salt><31-char-hash>
Parameters:
- Cost factor: 12
- Salt length: 16 bytes (encoded as 22 base64 characters)
PBKDF2-SHA256
PHC format:$pbkdf2-sha256$i=210000$<base64-salt>$<base64-hash>
Parameters:
- Iterations: 210,000
- Hash algorithm: SHA-256
- Hash length: 32 bytes
- Salt length: 16 bytes
Scrypt
PHC format:$scrypt$n=65536,r=8,p=1$<base64-salt>$<base64-hash>
Parameters:
- N (CPU/memory cost): 65536
- r (block size): 8
- p (parallelization): 1
- Hash length: 32 bytes
- Salt length: 16 bytes
Verification
To verify passwords in your system, compare the plaintext password against the hash received from the webhook.Dependencies
Example
Troubleshooting
Base64 decoding fails
Base64 decoding fails
Some Base64 decoders require padding. If decoding fails, add
== padding as shown in the example code above.