Ich habe eine Tabelle mit Zugangsdaten für ein Telerik Sitefinity System. Ich möchte dieselben Anmeldeinformationen verwenden, aber mit einer anderen Anwendung, die keine Sitefinity-Bibliotheken enthält. Ich kämpfe mit der Passwort-Codierung, die auf Hash (Standard ist SHA1-Algorithmus) festgelegt ist.Telerik Sitefinity Passwort Hash Funktion
Ich habe versucht, den folgenden Code zum Codieren von Kennwörtern zu verwenden, aber es stimmt nicht überein mit dem, was Sitefinity generiert.
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);
}
BEISPIEL:
PASSWORT: password111
Salz: 94EBE09530D9F5FAE3D002A4BF262D2F (wie in der SF Benutzertabelle gespeichert)
Hash mit Funktions oben: 8IjcFO4ad8BdkD40NJcgD0iGloU =
Hash in Tabelle generiert von SF: A24GuU8OasJ2bicvT/E4ZiKfAT8 =
Ich habe online gesucht, wenn SF das verschlüsselte Passwort anders generiert, aber keine Ergebnisse finden kann. Wie kann ich die Anmeldeinformationen verwenden, die von SF ohne SF-Bibliotheken erstellt wurden?
es funktioniert! vielen Dank. Wo hast du das herausgefunden? Ich konnte keine Informationen darüber finden, wie SF ihr Hashing macht. –
Ich habe gerade ihre Telerik.Sitefinity.dll dekompiliert und gefunden, wie es funktioniert –