HTTP摘要式身份验证 - 在多个http请求之间共享MD5实例

时间:2015-12-03 09:21:17

标签: c# http authentication hash md5

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

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

    “创建”流程有多贵?

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

1 个答案:

答案 0 :(得分:0)

由于Oguz Ozgul Said第二个选项是不可能的,因为MD5没有线程安全,我们可以看到here

  

此类型的任何公共静态(在Visual Basic中为Shared)成员都是线程安全的。任何实例成员都不保证是线程安全的