代码之家  ›  专栏  ›  技术社区  ›  Kirtan

加密/编码算法

  •  0
  • Kirtan  · 技术社区  · 15 年前

    我有一个未加密/未编码的字符串- "565040574" . 我还有这个字符串的加密/编码字符串- "BSubW2AUWrSCL7dk9ucoiA==" .

    看起来这个字符串在加密后是基于64ed的,但我不知道使用了哪种加密算法。如果我使用将“bsubw2auwrscl7dk9ucoia==”字符串转换为字节 Convert.FromBase64String("BSubW2AUWrSCL7dk9ucoiA==") ,我得到16个字节。

    有什么我能知道用来加密的加密类型吗? “565040574” “bsubw2auwrscl7dk9ucoia== ?

    3 回复  |  直到 15 年前
        1
  •  4
  •   James Black    15 年前

    不,没有什么可以告诉你它是如何加密的。如果你没有解密的钥匙,那么你无论如何都会走运的。

    如果计划是将它保存到一个文件或通过电子邮件发送,那么它将是base-64编码的,所以这是一个很好的猜测。

    你也许可以通过观察你有7个字节的填充空间这一事实来缩小范围,但是无论它是IDEA、Blowfish还是AES,都没有办法知道。

        2
  •  2
  •   Kyle Rosendo    15 年前

    从我的头顶上看,我会说爱神,更确切地说是日神。

    编辑:

    正如我在评论中所说,如果没有钥匙,你永远不会知道这是什么。我把它放在一个最佳猜测的场景中,也基于可以称为“更常见”的实现,这也可能是我的完全监督。

    记住,如果你能直截了当地说出密文的算法,永远不要使用该算法。

        3
  •  1
  •   caf    15 年前

    从你的数据中你能看出什么?好吧,您拥有的最具体的一点信息是9字节的明文加密为16字节的密文。由于数据压缩算法不太可能用于如此小的数据块,这意味着我们可以有根据地猜测:

    • 它是用块密码加密的,块大小为128位。

    • 加密模式是ECB,因为没有静脉注射的空间。