当前位置: 首页 > 知识库问答 >
问题:

是否有方法使用MD5通过DirectoryServices对LDAP进行身份验证?

司徒正信
2023-03-14
root = new DirectoryEntry(
                "LDAP://192.168.116.20:389",
                username,
                password
            );

那么,我如何使用md5-hash与DirectoryEntry和LDAP进行身份验证呢?!有可能吗?

共有1个答案

戚英逸
2023-03-14

如果选择将数据加密到a文件,则应使用System.Security.ProtectedData类。

您加密的数据可以被绑定到当前用户或正在进行编码/解码的当前计算机。

您应该使用两种简单方法:

  • 保护-获取字节数组并加密数据。
  • unprotect-获取加密数据并返回字节数组。

示例:

private static void EncryptData(string data, Stream stream)
{
    if (stream.CanWrite == false)
            throw new IOException("Cannot write to stream.");
    var bytes = Encoding.UTF8.GetBytes(data);
    var encryptedBytes = ProtectedData.Protect(bytes, null, DataProtectionScope.CurrentUser);
    stream.Write(encryptedBytes , 0, encryptedBytes .Length);
}

private static string DecryptData(Stream stream)
{
    if (stream.CanRead == false)
            throw new IOException("Cannot read fromstream.");

    using (MemoryStream memoryStream = new MemoryStream())
    {
        stream.CopyTo(memoryStream);
        var encryptedBytes = memoryStream.ToArray();
        var decryptedBytes = ProtectedData.Unprotect(encryptedBytes, null, DataProtectionScope.CurrentUser)
        return Encoding.UTF8.GetString(decryptedBytes);
    }
}

现在,为了在FileStream中简单地使用这些:

public static void Encrypt(string password)
{
    using (var fileStream = new FileStream(@"MyFile.dat", FileMode.Create))
    {
        EncryptData(password, fileStream);
        fileStream.Close();
    }
}

public static string Decrypt()
{
    string password;
    using (var fileStream = new FileStream(@"MyFile.dat", FileMode.Open))
    {
        password = DecryptData(fileStream);
        fileStream.Close();
    }
    return password;
}
 类似资料:
  • 在我配置了下面的配置之后,它不会连接到Active Directory。我无法使用Active Directory的帐户登录。会有什么问题? 我有一个Ubuntu服务器18.04,带有ApacheGuacamoleV1。0.0. 安装。我想使用LDAP身份验证来验证用户。我已经下载了鳄梨酱-auth-ldap-1.0.0。jar和jldap-4.3。jar扩展。 10.10.10.21,10.10

  • 问题内容: 我正在寻找一种通过PHP(通过Active Directory作为提供者)通过LDAP验证用户身份的方法。理想情况下,它应该能够在IIS 7上运行(adLDAP在Apache上运行)。有谁做过类似的事情,并且成功了? 编辑:我更喜欢一个带有代码的库/类,这些代码已经准备好去做……如果有人已经发明了轮子,那就太愚蠢了。 问题答案: 当您只需要两行代码时,导入整个库似乎效率很低。

  • 我无法使用真正的active directory进行身份验证,让我更好地解释一下,我尝试使用spring提出的示例进行身份验证。io无问题—内部服务启动时没有任何问题。参考https://spring.io/guides/gs/authenticating-ldap/ 我试图通过插入active directory的配置来修改下面的代码,但没有成功。你能不能给我一个真实的例子,让我看看在不使用内部

  • 我有一个工作的概念验证应用程序,它可以通过测试服务器上的LDAP成功地对Active Directory进行身份验证,但是生产应用程序必须通过TLS进行身份验证--域控制器关闭任何不通过TLS发起的连接。 ldap.xml: 是一个重写类,它扩展了Spring的类的副本,该类出于某种原因被指定为。我要重写的原因与自定义在用户对象上填充权限/权限的方式有关(我们要么使用相关组的组成员身份来构建用户的

  • 问题内容: 我有一个有效的概念验证应用程序,可以通过测试服务器上的LDAP通过Active Directory进行成功的身份验证,但是生产应用程序必须通过TLS进行身份验证-域控制器会关闭所有未通过TLS发起的连接。 我已经在Eclipse中安装了LDAP浏览器,并且确实可以在 其中 使用TLS进行绑定,但是我一生都无法弄清楚如何让我的应用程序使用TLS。 ldap.xml : 是重写类,它扩展了