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:94EBE09530D9F5FAE3D002A4BF262D2F(SFユーザテーブルに保存されるように)
上記機能付きハッシュ表に=
ハッシュ8IjcFO4ad8BdkD40NJcgD0iGloU SFによって生成される:A24GuU8OasJ2bicvT/E4ZiKfAT8 =
SFがコード化されたパスワードを異なる方法で生成したが、結果が見つからない場合は、私はオンラインで検索しました。 SFライブラリではなくSFで作成したログイン資格情報を使用するにはどうすればよいですか?
それは働きます!本当にありがとう。これをどこから見つけましたか?私はSFがどのようにそのハッシュを行うかについての情報を見つけることができませんでした。 –
私はTelerik.Sitefinity.dllを逆コンパイルして、それがどのように動作するかを見いだしました –