我正在尝试针对由asp.net MVC 5实体框架创建的表aspnet_Membership验证用户。大多数人都知道它有哈希密码。
我想我找到了一个C#的链接 ASP.NET Identity default Password Hasher, how does it work and is it secure?
知道如何从Delphi验证?感谢。
答案 0 :(得分:1)
最后,我能够在我的同事的帮助下完成这项工作,此链接由Malcolm Swaine提供。 http://www.codeproject.com/Articles/32600/Manually-validating-an-ASP-NET-user-account-with-a
这是应该做的最终代码。
uses DECHash,Data.Cloud.CloudAPI;
...
..
function GetHash_ASPNetMemberShip(const Password, Salt:string):string;
var
bPassword ,bSalt ,bSaltPassword: TBytes;
begin
bPassword:= TEncoding.Unicode.GetBytes(Password) ;
bSalt:= DecodeBytes64(Salt);
SetLength(bSaltPassword, length(bPassword)+length(bSalt));
Move(bSalt[0],bSaltPassword[0],length(bSalt));
Move(bPassword[0],bSaltPassword[length(bSalt)],length(bPassword));
Result := THash_SHA1.CalcBuffer(bSaltPassword[0], Length(bSaltPassword), TFormat_MIME64);
end;
答案 1 :(得分:-1)
我使用的是Delphi XE8。尝试这个例子有错误: [dcc32致命错误] Unit1.pas(7):未找到F2613单位'DECHash'。 哪里可以找到这个单位?谷歌对此一无所知。