2014-10-20 2 views
-1

우선, 저는 Sqlite로 파이썬 병을 사용하고 있습니다. 내가 가지고있는 문제는 내가 소금을 피우고 해시하려고 할 때 프로그램을 중단한다는 것입니다. 내가 읽은 모든 페이지는 다른 방법으로 암호를 생성하므로 어떻게해야하는지 모릅니다. 내가 시도한 모든 방법이 잘못되었습니다. 병으로 안전한 암호를 만드십시오

def create(self): 
 
\t \t username = request.forms.get('username') 
 
\t \t password = request.forms.get('password') 
 
\t \t email = request.forms.get('email') 
 
\t \t sex = request.forms.get('sex') 
 
\t \t usertype = request.forms.get('usertype') 
 
\t \t registration = datetime.utcnow() 
 
     salt = request.forms.get('password') ########## salt and hash 
 
     hash = hashlib.sha512(password + salt).hexdigest() 
 
\t \t c = self.db.execute('insert into users (username, email, password, registration, sex, usertype) values (?, ?, ?, ?, ?, ?)', \ 
 
\t \t \t (hash, salt, username, email, password, registration, sex, usertype))

답변

1

암호 해싱 및 확인을 위해 사용 "passlib". 그것의 문서를 읽고 bcrypt, pbkdf2, sha512_crypt와 같은 현대 알고리즘 중 하나를 사용하십시오.

관련 문제