从Delphi验证用户对aspnet_Membership

时间:2014-11-21 15:01:44

标签: delphi

我正在尝试针对由asp.net MVC 5实体框架创建的表aspnet_Membership验证用户。大多数人都知道它有哈希密码。

我想我找到了一个C#的链接 ASP.NET Identity default Password Hasher, how does it work and is it secure?

知道如何从Delphi验证?感谢。

2 个答案:

答案 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'。 哪里可以找到这个单位?谷歌对此一无所知。