Telerik Sitefinity 시스템에 대한 로그인 자격 증명이있는 테이블이 있습니다. 같은 로그인 자격 증명을 사용하지만 Sitefinity 라이브러리가없는 다른 응용 프로그램과 함께 사용하려고합니다. 해시 (기본값은 SHA1 알고리즘)로 설정된 암호 인코딩에 어려움을 겪고 있습니다.Telerik Sitefinity 암호 해시 기능
암호를 인코딩하는 데 다음 코드를 사용했지만 Sitefinity가 생성 한 것과 일치하지 않습니다.
public string EncodePassword(string pass, string salt)
{
byte[] bytes = Encoding.Unicode.GetBytes(pass);
byte[] src = Convert.FromBase64String(salt);
byte[] dst = new byte[src.Length + bytes.Length];
Buffer.BlockCopy(src, 0, dst, 0, src.Length);
Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length);
HashAlgorithm algorithm = HashAlgorithm.Create("SHA1");
byte[] inArray = algorithm.ComputeHash(dst);
return Convert.ToBase64String(inArray);
}
예 :
PASSWORD : password111
SALT (SF 사용자 테이블에 저장 됨) 94EBE09530D9F5FAE3D002A4BF262D2F 상기 기능
해시 : 8IjcFO4ad8BdkD40NJcgD0iGloU 테이블 =
해시 SF에서 생성 : A24GuU8OasJ2bicvT/E4ZiKfAT8 =
SF가 인코딩 된 암호를 다르게 생성하지만 결과를 찾을 수없는 경우 온라인으로 검색했습니다. SF 라이브러리없이 SF가 만든 로그인 자격 증명을 사용하려면 어떻게해야합니까?
! 정말 고마워. 이걸 어디서 찾았 니? SF가 해싱하는 방식에 대한 정보를 찾을 수 없었습니다. –
방금 Telerik.Sitefinity.dll을 디 컴파일하여 어떻게 작동하는지 발견했습니다. –