0

예 :사람이 등록 할 때 GAE에 암호를 저장하는 방법

이름 : zjm1126 비밀번호 : 내가 GAE의 데이터 저장소에 암호를 저장 11

,

내가 데이터보기에서 볼

/_ah/admin, 모든 사람의 비밀번호를 볼 수있는 사람의 비밀번호입니다.

나는 안전하지 않다고 생각합니까?

은 이렇게 암호 처리 되었습니까? 암호를 저장하는 방법을

,

감사

alt text http://omploader.org/vNGtxZA

과은 check_password 방법은 다음과 같습니다

user=MyUser.get_by_key_name(self.request.get('username')) 
if user.password == self.request.get('password'): 
    session['user.key']=str(user.key()) 
else: 
    raise Exception('error 404') 

답변

10

당신이해야 결코 저장 일반 텍스트 암호를 입력합니다.

사용하십시오 IR-가역 데이터 해싱 알고리즘, 당신은 파이썬에서 해시 만드는 방법을 여기

sha 같은 또는 md5 :

from hashlib import sha256 
from random import random 
random_key = random() 
sha256('%s%s%s'%('YOUR SECRET KEY',random_key,password)) 

또한 임의의 키를 저장하고 사용자를 해시한다을 유사하게 제공되는 암호.

+3

md5는 권장하지 않습니다. – systempuntoout

+0

md5는 소규모 데이터베이스에서도 괜찮습니다. 충돌 할 사용자가 충분하지 않을지는 의심 스럽습니다. – DanDan

0

다양한 알고리즘을 사용하여 비밀번호 무결성을 제품화하는 방법에 대한 많은 게시물이 stackoverflow에 있습니다. SHA-256/SHA-512는 무작위로 생성 된 긴 소금 (데이터베이스에도 저장 됨) 또는 bcrypt와 함께 사용해야합니다. 그 토론이 이미 다른 questions에서 일어나고 있기 때문에 내가 왜 다른 토론보다 더 나은 이유에 대한 토론에 참여하지 않을 것입니다.

3

이전에 10 번도 대답하지 않은이 질문에 대해서는 앱 엔진 관련 또는 새로운 내용이 없습니다. store password에 대한 스택 오버플로를 검색하고 처음 5 개 질문을 읽습니다. 그것은 당신에게 주제에 대한 좋은 기초를 제공해야합니다.

관련 문제