我正在尝试根据MVC 5实体框架创建的表aspnet_Membership验证用户 asp.net。正如你们大多数人所知,它有哈希密码。
我想我找到了 C# 的链接ASP.NET 身份默认密码哈希器,它是如何工作的,它是否安全?
知道如何从德尔福验证吗?谢谢。
最后,我能够在同事的帮助下完成这项工作,并且此链接由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;
我使用Delphi XE8。尝试此示例出现错误:[DCC32 致命错误]Unit1.pas(7): F2613 单位 'DECHash' 未找到。我在哪里可以找到这个单位?谷歌对此并非一无所知。