2014-12-23 1 views
0

내 프로젝트의 사용자 인증을 개발하려고합니다. 이것을 실현하기 위해 사용자 이름과 암호가있는 두 개의 열이있는 테이블을 만들었습니다. 사용자 이름은 그대로 저장되며 암호는 jasypt를 사용하여 암호화됩니다.표준 방식으로 인증을 구현하는 방법은 무엇입니까?

즉, 등록 중에 사용자가 입력 한 암호는 암호화 키를 사용하여 암호화 된 다음 해당 열에 배치됩니다.

사용자가 응용 프로그램에 로깅하려면 프로그램에서 동일한 사용자의 암호화 된 암호를 가져오고 암호는 동일한 암호화 키를 사용하여 암호를 해독합니다.

그런 다음 암호가 해독 된 암호는 입력 된 암호와 일치합니다.

올바른 구현 방법입니까?

나는 키와 값 쌍을 구현하는 다른 방법이 있다는 것을 알았습니다. 그러나 나는 그것을 이해할 수 없었다. 친절하게도 도움이됩니다. 또는 간단한 간략한 설명

+0

암호를 해시하고 암호화 된 암호로 해시를 저장하는 것이 좋습니다. –

+1

무엇을하고 있습니까? 변경할 필요가 없습니다. –

+0

@UkuLoskit, 정보 주셔서 감사합니다. 나는 해싱을위한 정확한 재료를보고 있는가? http://www.jasypt.org/encrypting-passwords.html. 죄송합니다 약간 잃었습니다. : ( – User27854

답변

0

소리가 맞습니다 :) 왜 이미 작동하는 무언가를 변경합니까? :) 완벽한 보안이 아니지만 좋은 여유가 있었고 다른 방법이 있지만 나는 당신과 아무런 문제도 볼 수 없다. (다른 암호화는 필요 없다.)

Android: Encrypt password

http://nelenkov.blogspot.co.il/2012/04/using-password-based-encryption-on.html

http://security.blogoverflow.com/2013/09/about-secure-password-hashing/

다른 정보를 필요 없음)

+0

추가 정보를 보내 주셔서 감사합니다. 나는 분명히 그러한 자료들을 살펴볼 것입니다. – User27854

0

당신의 방법의 문제는 당신이 키 암호화의 보안이 잘 돌봐 있어야합니다

이것은 웹 사이트 또는 응용 프로그램 인증을위한 일반적인 방법입니다.

등록하는 동안 salt가 임의의 문자열 인 암호 + salt를 암호화하기 위해 해시 알고리즘 (이전에는 MD5가 널리 사용되었지만 안전하지 않음이 입증되었습니다)을 사용하십시오. 그런 다음 해시 값과 소금을 username과 함께 저장하십시오.

사용자가 로그인하여 사용자 이름과 암호를 입력하려면 먼저 소금을 암호에 추가하고 동일한 해시 알고리즘을 사용하여 암호화하십시오. 그런 다음 결과가 저장된 해시 값과 일치하는지 확인합니다.

+0

좋습니다, 그러면 지금 진행되는 절차는 무엇입니까? 비록 내 요구 사항이 충족됩니다. 나는 아직도 그것의 더 많은 것을 알고 싶다. – User27854

+0

다음 절차는 일치하는 경우 받아 들여지고 그렇지 않으면 거부합니다. –