thank you.

2013/4/6 Massimo Di Pierro <[email protected]>

> This was explained many times before. You should look into the docstring
> of the CRYPT validator for examples and explanations. The bottom line is
> that
>
> db.auth_user.password.**validate(...) calls a crypt validator which
> returns (lazy_crypt(...), None or  'error')
>
> The lazy_crypt object is not a string but it can be be comparer with a
> string and serialized into a string.
>
> lazy_crypt(...) == 'hashed.... password'  reads the salt from the right
> hand side in order to perform a comparison.
>
> Massimo
>
>
> On Friday, 5 April 2013 14:02:39 UTC-5, OrrĂ¹ wrote:
>>
>>
>> suppose password='12345' and db.auth_user.first_name=='**Lucas'
>> so i find user by first_name,
>> row_user=db(db.auth_user.**first_name=='Lucas').select().**first()
>> and
>> row_user.password='pbkdf2(**1000,20,sha512)$**97448b22487eca1d$**
>> dae65c0429430b7ae7bb311fed8e84**4b6a37ff30'
>>
>> db.auth_user.password.**validate('12345') == (db(db.auth_user.id==
>> row_user.**id <http://row_user.id>).select ().first ().password, None)
>> return False
>> CRYPT()('12345')==(row_user.**password,None)
>> also returns false
>>
>> where I am going wrong?
>>
>> On Friday, December 21, 2012 11:12:26 PM UTC-2, Pearu Peterson wrote:
>>>
>>> Hi,
>>>
>>> I have a password in plain text and I want to check if it matches with
>>> the crypted password in auth_user.password field.
>>>
>>> I have tried comparing auth_user.password with str(db.auth_user.password.
>>> **validate(plain_password)[0]) with no success even when I know that
>>> the passwords match exactly.
>>>
>>> The problem seems to boil down to the fact that encryption of the same
>>> string results different encrypted strings. For example,
>>> >>> from gluon.validators import CRYPT, LazyCrypt
>>> >>> crypt = CRYPT()
>>> >>> str(LazyCrypt(crypt, 'mysecret'))
>>>     'pbkdf2(1000,20,sha512)$**a2a2ca127df6bc19$**
>>> 77bb5a3d129e2ce710daaefeefef83**56c4c827ff'
>>> >>> str(LazyCrypt(crypt, 'mysecret'))
>>>     'pbkdf2(1000,20,sha512)$**a555a267249876fb$**
>>> bc18f82b72a3a5ebce617f32d6abaa**5c48734ab9'
>>>
>>> What would be the correct way to check if passwords match when they are
>>> given in encrypted form?
>>>
>>> Any hints are appreciated,
>>> Pearu
>>>
>>>  --
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "web2py-users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/web2py/eqbXmseZ6XA/unsubscribe?hl=en.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 

--- 
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.


Reply via email to