如何在vba中使用Bcrypt.Net对PHP中crypt函数存储的密码进行身份验证

如何在vba中使用Bcrypt.Net对PHP中crypt函数存储的密码进行身份验证,.net,vba,vb.net,ms-access,dll,.net,Vba,Vb.net,Ms Access,Dll,我有一个数据库,它存储了使用PHP的crypt函数加密的密码。我发现crypt函数实际上使用了bcrypt,并且我发现bcrypt是用BSD Base64字母表而不是常规Base64字母表以非常特定的方式编写的 我希望Bcrypt.Net项目能够模拟PHP verion。但我不知道如何在VBA中使用DLL并能够访问它们的功能。我不知道如何在Dll中找到模拟Bcrypt的函数 我在Access 2010中使用VBA。谁能帮帮我吗 我从这里下载了bcrypt.net。 要添加dll文件,请右键单击项

我有一个数据库,它存储了使用PHP的crypt函数加密的密码。我发现crypt函数实际上使用了bcrypt,并且我发现bcrypt是用BSD Base64字母表而不是常规Base64字母表以非常特定的方式编写的

我希望Bcrypt.Net项目能够模拟PHP verion。但我不知道如何在VBA中使用DLL并能够访问它们的功能。我不知道如何在Dll中找到模拟Bcrypt的函数


我在Access 2010中使用VBA。谁能帮帮我吗

我从这里下载了bcrypt.net。 要添加dll文件,请右键单击项目名称上的,然后选择“引用…”。 将打开一个窗口,然后浏览要插入的dll文件。然后根据需要在C#页面中添加代码。


请看这个链接

这个怎么样?我认为你不能在Access中使用BCrypt,除非.DLL是专门为COM用户编写的。大多数.NET项目/DLL都没有被编写为COM可调用的,除非这是构建.DLL时的特定要求。这是因为在.NET中创建DLL使其可COM调用并非易事。
using BCrypt;
public partial class your_class_name : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string salt = BCrypt.Net.BCrypt.GenerateSalt(); //Generate Salt
        string hash = BCrypt.Net.BCrypt.HashPassword("subinoy", salt); //Using salt to generate password
        if(BCrypt.Net.BCrypt.Verify("username","$2a$10$ljfI1o3m3gI.rXDpDkGc/ebUNqHKJ22EhJrQJnuoe3yAf58QoZW6i")) //this hash inside the if() will be taken from the database when the user registered
            bcrypttext.Text = "equals";
        else
            bcrypttext.Text = "Not equal" + hash;
  }
}