VB 3DES 加密后无法检索字符串

VB Unable to retrieve string after 3DES encryption

初始条件:

Private TheKey() As Byte = {1, 2, 3, 4, 5, 6, 7, 8}
Private Vector() As Byte = {&H7C, &H22, &H2F, &HB2, &H92, &H7D, &H82, &H8A}

然后我继续加密字符串:"asd"(不带引号)使用:

CryptoStream(ms, des.CreateEncryptor(TheKey, Vector), CryptoStreamMode.Write)

输入:asd
输出:82804AD2B295E9E3

当我尝试在 http://tripledes.online-domain-tools.com/ 上使用相同的 key/vector 加密相同的字符串时,如下所示(由于信誉原因,无法 post 图像):

online 3DES encryption

我得到了不同的结果。

我的最终目标是在 C 应用程序中解密此输出。但是两个 3DES 加密器给出 2 个不同的结果是一个表演障碍。关于可能导致这种情况的原因有什么想法吗?

提前致谢!

用其他 "oracle" 测试你的加密货币是个好主意。但是您使用在线工具有两个明显的问题:

  • 密钥应该以十六进制而不是文本形式给出(VB 代码有一个字节数组)。大概是0102030405060708
  • 3DES 是算法,但 VB 代码使用经典 DES - 有一个单独的 TripleDESCryptoServiceProvider 用于 3DES

但是该站点为我提供了 DES 和 3DES 的相同加密文本,所以它可能不是可靠的预言机?尝试另一个,但可能需要使用纯文本密钥(我看到的前两个没有以任何明显的方式提供十六进制输入)