2011-12-22 2 views
0

은 내가 AKA, 그래서 은행 없을 것 고유의 해시 함수를 만드는 방법을 찾고 이미 사전 구축되지 않은 하나를 찾는거야 : http://www.md5decrypter.co.uk/성공적인 고유 해시 함수를 만드는 방법은 무엇입니까?

어떤 제안 방법 중 하나를 만들기 위해?

미리 감사드립니다.

+5

질문에 대한 답변이 아닐 수도 있지만 **하지 마세요 **. 어쨌든 이것은 정말로 어렵고 오픈 피어 검토 프로세스에서만 작동합니다. – edorian

+1

괜찮은 해시 알고리즘을 사용하고 __SALT__ –

+2

당신이하려는 것을 설명 할 수 있습니까? 해시 함수는 출력이 입력과 같은 크기가 아니면 순전히 고유하지 않으며, 심지어 조심해야합니다 (사소하지는 않습니다). 표준 [암호화 해시 함수] (http://en.wikipedia.org/wiki/Cryptographic_hash_function)의 문제점은 무엇입니까? – ircmaxell

답변

-1

나는 드루팔의 수첩에서 연극을하고이 체크 아웃 것이다 : What is Drupal's default password encryption method?

을 그 무지개 테이블에서 자신을 보호하기 위해 당신 중 소금 당신의 해시 또는 여러 개의 암호라면의 MD5 스택 있는지 확인 (SHA1을 ($ pass)). 나는 당신이 그렇게해야한다고 생각하지 않는다. 그러나 단순한 md5 ($ pass)보다 더 좋은 것이 아무것도 없다.

+2

자신이하는 일을 잘 알고 있지 않으면 여러 개의 해시를 쌓지 마십시오. 당신이 피곤하지 않다면, 공격자가 암호를 무단으로 바꿀 필요가있는 키 스페이스의 양을 줄이게 될 것입니다. –

+2

이것은 나쁜 조언입니다. 실제로'md5 (sha1 ($ data)) '가 제안한 것이 어느 것보다 더 나쁜 것일 수 있다는 연구가있었습니다 (http://crypto.stackexchange.com/questions/270/guarding-against-cryptanalytic-breakthroughs -combining-multiple-hash-functions). 대신 [PBKDF2]와 같은 확장 된 기능을 사용해야합니다 (http://en.wikipedia.org/wiki/PBKDF2). 어떤 상황에서도 스스로 발명하지 마십시오. – ircmaxell

0

당신이 어디에서 출발해야하는지 모른다면 당신은 당신보다 앞서 긴 여정을 가질 것이다. sha1 또는 md5보다 나은 것을 만들 수있는 위치에 있어야합니다.

데이터 뱅크/레인보우 테이블의 영향을 줄이는 데는 여러 가지 방법이 있습니다. 으로 가정하면 작업을 정당화하기 위해 데이터를 적절히 보호해야합니다. 예 : 아무도 액세스 할 수없는 데이터베이스에 저장된 암호를 보호하기 위해 완벽한 해시를 사용하는 것은별로 중요하지 않습니다.

해시에 대한 무차별 대입 (brute force attacks)을 어렵게 만들려면 해시하기 전에 소금을 사용하고 소금에 절인 데이터를 압축하십시오.

관련 문제