我有一个未加密/未编码的字符串- "565040574"。我还有这个字符串的加密/编码字符串- "BSubW2AUWrSCL7dk9ucoiA=="。
看起来这个字符串在加密后已经被Base64ed了,但是我不知道使用了哪种加密算法。如果我使用Convert.FromBase64String("BSubW2AUWrSCL7dk9ucoiA==")将"BSubW2AUWrSCL7dk9ucoiA==“字符串转换成字节,我得到的是16字节。
有没有什么方法可以让我知道在将"565040574"加密到"BSubW2AUWrSCL7dk9ucoiA=="时使用的加密类型
发布于 2009-10-22 21:35:10
不,没有什么可以告诉你它是如何加密的。如果你没有解密它的密钥,那么你无论如何都会倒霉的。
如果计划将其保存到文件或通过电子邮件发送,那么它将是base-64编码的,所以这是一个很好的猜测。
你也许可以通过查看你有7字节填充的事实来缩小它的范围,但是无论它是IDEA还是Blowfish还是AES,都没有办法知道。
发布于 2009-10-22 21:34:19
看着它,从我的头顶,我会说AES,更具体地说,Rijndael。
编辑:
只是补充一下,正如我在评论中所说,没有密钥,你永远不会知道这是什么。我采取的是最佳猜测方案,也是基于可以被称为“更常见”的实现,这也可能是我的完全疏忽。
请记住,如果您可以直截了当地说出密文采用的是哪种算法,那么就永远不要使用该算法。
发布于 2009-10-23 06:36:28
你能从你所拥有的数据中看出什么?好的,您拥有的最具体的信息是9字节的明文加密为16字节的密文。由于不太可能对如此小的数据块使用数据压缩算法,这意味着我们可以做出有根据的猜测:
https://stackoverflow.com/questions/1607227
复制相似问题