This is correct?

from gluon.validators import CRYPT
password = CRYPT()(str(self.db.auth_user.password.validate(password)[0]))[0]


Em terça-feira, 7 de maio de 2013 17h31min58s UTC-3, Dirk escreveu:
>
> json.loads() returns a unicode string which 
>
> *db.auth_user.password.validate() doesn't like -- try converting your 
> password variable to a string first as follows:*
>
>
>
>
> *password = str(db.auth_user.password.validate(str(password))[0])Don't 
> forget to str() the result of the db.auth_user.password.validate()[0] too 
> since it returns an instance of gluon.validators.LazyCrypt and keep the 
> passwords 4+ in length.HTH, D*
> On Tuesday, May 7, 2013 12:42:58 PM UTC-4, Stan Lexow wrote:
>>
>>
>>
>>
>>
>>
>>
>> *Inserting a new user programmatically with web2py, v2.4.6I apologize for 
>> the re post.  I have read many threads on this subject, including several 
>> from Massimo, but I am still having trouble inserting a new user record.I 
>> just upgraded web2py to 2.4.6 from version 2012/3/4 1.99.7. The insert was 
>> working before the upgrade.When I execute the following code I receive the 
>> traceback belowcode fragment:...password = 
>> json.loads(request.vars.password).decode('unicode-escape')password = 
>> str(db.auth_user.password.validate(password)[0])...db.auth_user.insert(first_name=first_name,
>>  
>> last_name=last_name, email=email, password=password)...The above code was 
>> tried with and without  " *
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> *.decode('unicode-escape') " Error: Traceback (most recent call 
>> last):File 
>> "/Users/foo/Desktop/dev/web2py/applications/init/controllers/default.py", 
>> line 599, in manageUsers 
>> password=str(db.auth_user.password.validate(password)[0]).decode('unicode-escape'))File
>>  
>> "/Users/foo/Desktop/dev/web2py/gluon/validators.py", line 2760, in str 
>> hashed = simple_hash(self.password, key, salt, digest_alg)File 
>> "/Users/foo/Desktop/dev/web2py/gluon/utils.py", line 87, in simple_hash 
>> int(keylen), get_digest(alg))File 
>> "/Users/foo/Desktop/dev/web2py/gluon/contrib/pbkdf2.py", line 55, in 
>> pbkdf2_hex return pbkdf2_bin(data, salt, iterations, keylen, 
>> hashfunc).encode('hex')File 
>> "/Users/foo/Desktop/dev/web2py/gluon/contrib/pbkdf2.py", line 65, in 
>> pbkdf2_bin mac = hmac.new(data, None, hashfunc)File 
>> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hmac.py", 
>> line 133, in new return HMAC(key, msg, digestmod)File 
>> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hmac.py", 
>> line 72, in init self.outer.update(key.translate(trans_5C))TypeError: 
>> character mapping must return integer, None or unicodeImportant: When I 
>> execute the following code from the web2py shell using “ python web2py.py 
>> -S init -M “, I do not get an error and the insert works as expected.email 
>> = 'first...@email.com'first_name='first'last_name=’last'password='flast123' 
>>               # web2py database 
>> portion...db.auth_user.insert(first_name=first_name, last_name=last_name, 
>> email=email, 
>>                   
>> password=str(db.auth_user.password.validate(‘mySecretPassword')[0]))Any 
>> insight is greatly appreciated!!Thanks in advance,Stan*
>>
>

-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to