Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Alternative to the 120k limit on rounds for hashed password imports using auth.UserImportHash.pbkdf2_sha256

Ouverte
#512 8 commentaires 7 réactions 1 personne assignée Voir sur GitHub

@bojeil-google y travaille déjà.

Depuis le 8/12/2020.

Évaluation

Cette issue n'a pas encore été évaluée.

Description

api: auth

I'm looking to migrate users from Django to firebase, below is the code I'm using for testing. The issue I'm facing is that it seems that the passwords have been hashed using 150k rounds when the firebase docs says the maximum is 120k for SHA256: https://firebase.google.com/docs/auth/admin/import-users#python

Is there an alternative?

Here is the error I get:
ValueError: rounds must not be larger than 120000.

import firebase_admin
from firebase_admin import auth, exceptions
from passlib.utils import to_bytes


server_path = ''
fb_credentials = firebase_admin.credentials.Certificate(server_path + 'files/serviceAccount.json')
firebase_admin.initialize_app(fb_credentials)


old_hash = 'pbkdf2_sha256$150000$rsWX3Dbbd3K6$EYgXPBAz/Ero9PIgIFs/8pWGmGT+diTOQs1DZv4Ytjw='
email = 'user@gmail.com'

rounds = int(old_hash.split('$')[1])
salt = old_hash.split('$')[2]

users = [
    auth.ImportUserRecord(
        uid='70sSUptkmkN95QTFJ0gWduzdlpP1',
        email=email,
        password_hash=to_bytes(old_hash),
        password_salt=to_bytes(salt)
    ),
]

hash_alg = auth.UserImportHash.pbkdf2_sha256(rounds=rounds)
try:
    result = auth.import_users(users, hash_alg=hash_alg)
    for err in result.errors:
        print('Failed to import user:', err.reason)
except exceptions.FirebaseError as error:
    print('Error importing users:', error)
Langage dominant
Python
Étoiles
1.2k
Forks
359
Merge moyen
3 j 9 h
PR mergées (30 j)
3

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de firebase/firebase-admin-python

Toutes les issues de firebase/firebase-admin-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.