c# - HTTP 摘要认证 - 在多个 http 请求之间共享 MD5 实例

标签 c# http authentication hash md5

我有自己的 HTTP 请求类,我将其用作客户端以向某些远程服务器发送 HTTP 请求。 我正在实现 HTTP 摘要身份验证并使用 MD5实例以执行哈希算法。 我想知道存储 MD5 实例的有效方法是什么? 我考虑了这些选项:

  1. 每个请求都将持有一个 MD5 实例,因此每次发送该请求时我们都会执行:m_md5 = MD5.Create();

    “创建”过程的成本如何?

  2. MD5 实例将是静态的,并将存储在请求类之外,我们将只使用一次 MD5.Create(),所有请求实例将使用相同的 MD5 实例。请注意,很多线程正在创建HTTP 请求类的实例。它是线程安全的吗?

谢谢。

最佳答案

作为奥古兹·奥兹古尔 Said第二个选项不可能,因为 MD5 不是线程安全的,我们可以看到 here :

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe

关于c# - HTTP 摘要认证 - 在多个 http 请求之间共享 MD5 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34062047/

相关文章:

c# - 更改文件中的一个字符会导致 MSysGit 认为整个文件都已更改

http - 如何使用 Java EE 的 ReSTLet api 从 ServerResource 发送 HTTP Get 请求?

api - 并发环境中的幂等 PUT

php - API认证困惑

angular - 前端框架世界中的身份验证

c# - 我怎样才能在客户端保持与网络服务的 session ?

c# - 使用 LINQ 查找数组中出现次数最多的数字

c# - 接受 KeyValuePair 的通用 IEnumerable 的函数

macos - 最小化 Mac 上的 WebDAV 请求数

php - 如何防止 CodeIgniter 3 中的 session 劫持