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

时间:2016-10-26 09:46:53

标签: c vb.net encryption des 3des

初始条件:

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/上的相同键/向量加密相同的字符串时,如下所示(由于声誉而无法发布图片):

online 3DES encryption

我得到了不同的结果。

我的最终目标是在C应用程序中解密此输出。但两个3DES加密器给出了两个不同的结果是一个显示阻止..任何想法可能导致这个?

提前致谢!

1 个答案:

答案 0 :(得分:0)

测试你的加密对抗其他“oracle”的好主意。但是使用在线工具时会出现两个问题:

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

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