I made a few tweaks and got it working with the following (the password is
'password'):
*import re, base64*
*a =
"pbkdf2_sha256$10000$vdUoVri9MlE7$GZ4q0iR3v8LfLZ9VDbzEWQmBoPhqNqgExWMf+6YKtm4="
*
*
*
*def convert(p):*
* a,b,c,d = p.split('$')*
* df, h = a.split('_')*
* d = base64.b16encode(base64.b64decode(d)).lower()*
* n = len(d.decode("hex"))*
* return "%s(%s,%s,%s)$%s$%s" % (df,b,n,h,c,d)*
*print convert(a)*
Thanks for all your help!
On Monday, November 4, 2013 5:30:22 PM UTC-5, Michele Comitini wrote:
>
> this should also get the correct hash function:
>
> import re, base64
> a =
> "pbkdf2_sha256$10000$FL21dN1vykVF$SUkANu/eKdKeUeT5lYr06aMpC5/T0vrBDo/iSy+ExyI="
>
> def convert(p):
> a,b,c,d = p.split('$')
> df, h = a.split('_')
> c = base64.b16encode(base64.b64decode(c)).lower()
> d = base64.b16encode(base64.b64decode(d)).lower()
> n = len(d)
> return "%s(%s,%s,%s)$%s$%s" % (df,b,n,h,c,d)
>
> print convert(a)
>
>
>
> 2013/11/4 Massimo Di Pierro <[email protected] <javascript:>>
>
>> In web2py they look like:
>>
>>
>> "pbkdf2(1000,20,sha512)$99f92ea3b8cdb79f$788117d26668f147cd8f10652cb61e51532d4e04"
>>
>> "alg(parameters)$salt$base16encoded"
>>
>> Try this:
>>
>> import re, base64
>> a =
>>
>> "pbkdf2_sha256$10000$FL21dN1vykVF$SUkANu/eKdKeUeT5lYr06aMpC5/T0vrBDo/iSy+ExyI="
>>
>> def convert(p):
>> a,b,c,d = p.split('$')
>> c = base64.b16encode(base64.b64decode(c)).lower()
>> d = base64.b16encode(base64.b64decode(d)).lower()
>> n = len(d)
>> return "pbkdf2(%s,%s,sha512)$%s$%s" % (b,n,c,d)
>>
>> print convert(a)
>>
>> I cannot test it without knowing the password.
>>
>>
>>
>> On Monday, 4 November 2013 08:16:13 UTC-6, Andy B wrote:
>>>
>>> I have a legacy Django app that is due for a major overhaul. Instead of
>>> continuing to use Django I would really like to make the switch to use
>>> web2py instead. The only thing that's holding me back is the existing app
>>> has several hundred Django user accounts that need to be migrated. I'm
>>> unable to figure out how to have web2py authenticate passwords generated by
>>> Django.
>>>
>>> From what I could find, Django saves passwords in the following format:
>>> algorithm + iterations + salt + base64 encoded hash
>>>
>>> ex: "pbkdf2_sha256$10000$**FL21dN1vykVF$SUkANu/**
>>> eKdKeUeT5lYr06aMpC5/T0vrBDo/**iSy+ExyI="
>>>
>>> Does anyone have any suggestions as to how I can get web2py to
>>> authenticate user accounts with passwords in this format?
>>>
>> --
>> Resources:
>> - http://web2py.com
>> - http://web2py.com/book (Documentation)
>> - http://github.com/web2py/web2py (Source code)
>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "web2py-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.