2013-02-20 4 views
0

자바에서 bcrypt를 해시하고 다시 해쉬 할 수 있습니까? 심지어 가능할까요? 나는 새로운 것을 시도하고 있었지만 Unhashing (가능하다면)에 대해서는 아무것도 모른다. 가능하다면 누군가가 내게 어떤 종류의 모범을 줄 수 있습니까?해시 및 해시?

키를 알고있는 경우 되돌릴 수있는 해싱 알고리즘이 있습니까?

+3

가역 해시는 해시가 아닙니다 ... 무손실 압축은 가역 해싱으로 간주 될 수 있지만 매우 해시가됩니다. – ppeterka

+3

해싱은 암호화와 다릅니다. 키로 암호화 및 암호 해독을 살펴보십시오. –

+2

당신은 "키가 알려졌다면 되돌릴 수있는 해시 알고리즘"이라고 말하고 'bcrypt'라는 질문을 태그로 붙였습니다. 이것은 해시가 아니라 암호화에 관한 것입니다. 차이점은 미묘하지만 중요하게 중요하기 때문에 정확한 용어를 사용하는 것이 중요합니다. –

답변

1

hashCode()를 오버라이드하는 것에 대해 이야기하는 경우 객체의 상태가 2^32 이상일 수 있다면 되돌릴 수있는 해시를 만들 수 없습니다. hashCode()는 int를 반환하기 때문에 2^32 개의 가능한 해시 값만 있으므로 2^32 개의 다른 상태 만 나타낼 수 있습니다.

4

해싱은 정의에 의한 단방향 조작입니다. 해당 캐시에서 소스 값을 검색 할 수 없습니다. 실제로 동일한 해시를 생성하는 많은 값이있을 수 있지만 해시를 값으로 변환하는 알고리즘은 이론적으로 존재하지 않아야합니다 (정의에 따라).

+1

캐시 대신 해시 *. –