다른 사람들의 도움을 받아 얼랭에서 이것을 수행하는 루틴을 찾았습니다. 다른 사람들과 공유하려면 여기를 클릭하십시오.
이 트릭은 'LDAP {SSHA}이'인코딩이라고했다 : -
먼저이 링크 (다른 포스트에서 발견는) 다른 언어 기능을 내가 원하는 일을 제공합니다 base64로 인코딩 된 salt-SHA1 해시입니다. 따라서 이것을 해독하고 소금을 추출한 다음 비교를 위해 '암호 지우기'를 다시 인코딩 할 때 사용해야합니다. 여기에 출력의 -
validatessha(ClearPassword, SshaHash) ->
D64 = base64:decode(lists:nthtail(6, SshaHash)),
{HashedData, Salt} = lists:split(20, binary_to_list(D64)),
NewHash = crypto:sha(list_to_binary(ClearPassword ++ Salt)),
string:equal(binary_to_list(NewHash), HashedData).
내 원래의 게시물의 데이터를 감안할 때 :
67> run:validatessha("myPassword", "{SSHA}GEH5kMEQZHYHS95dgr6KmFdg0a4BicBP").
true
68>
고맙습니다 모두 여기에
이 작업을 수행 짧은 얼랑 루틴입니다.
마이크
으로 이해 - 따라서 내 질문에 - 우리가 LDAP의 외부 이러한 SSHA 암호화 된 암호를 검증하기 위해 찾고 있습니다. – mwalker