Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不同语言的AES加密是否不同?_Java_Vb.net_Encryption - Fatal编程技术网

Java 不同语言的AES加密是否不同?

Java 不同语言的AES加密是否不同?,java,vb.net,encryption,Java,Vb.net,Encryption,最近,我有一些文件作为加密文件从远程连接传输到Android应用程序,并在运行时解密。我发现这里有与密钥完全相同的解密代码。不幸的是,它是用Java编写的,因此我并不熟悉,我没有加密方面的经验。模块的链接在这里 这里是加密的示例 我一直试图使用VB.NET中的AES实用程序对其进行解密,但不幸的是,它似乎不起作用。所以我的问题是AES加密方法是否因语言而异?IE是由AES在Java中编码的东西,与VB.NET中的不同-这意味着我必须直接翻译Java代码 谢谢 必须使用逐位相同的密钥和初始化向

最近,我有一些文件作为加密文件从远程连接传输到Android应用程序,并在运行时解密。我发现这里有与密钥完全相同的解密代码。不幸的是,它是用Java编写的,因此我并不熟悉,我没有加密方面的经验。模块的链接在这里

这里是加密的示例

我一直试图使用VB.NET中的AES实用程序对其进行解密,但不幸的是,它似乎不起作用。所以我的问题是AES加密方法是否因语言而异?IE是由AES在Java中编码的东西,与VB.NET中的不同-这意味着我必须直接翻译Java代码


谢谢

必须使用逐位相同的密钥和初始化向量以及相同的块链接模式,但除此之外,编写加密算法的语言并不重要。

必须使用逐位相同的密钥和初始化向量以及相同的块链接模式,但除此之外,编写加密算法所用的语言无关紧要。

不同语言的AES加密是否不同?否

aes只是一种算法(计算指令)。aes可能有一个参考实现,但它没有“唯一正确的标准化实现”

aes的实现在任何语言中都可能略有不同。例如,在vb.net中,在aes实现中,通常使用“Byte”作为无符号数字的类型。但是java没有无符号数据类型,因此必须转换表示负数的字节以避免编码问题。但您不会更改真正的加密算法。因此,您可以使用任意语言的aes实现对数据进行加密,并使用另一种语言编写的aes实现对数据进行解密。如果这不起作用,则其中一个实现存在缺陷。

不同语言的AES加密是否不同?否

aes只是一种算法(计算指令)。aes可能有一个参考实现,但它没有“唯一正确的标准化实现”


aes的实现在任何语言中都可能略有不同。例如,在vb.net中,在aes实现中,通常使用“Byte”作为无符号数字的类型。但是java没有无符号数据类型,因此必须转换表示负数的字节以避免编码问题。但您不会更改真正的加密算法。因此,您可以使用任意语言的aes实现对数据进行加密,并使用另一种语言编写的aes实现对数据进行解密。如果这不起作用,其中一个实现是有缺陷的。

AES是一种加密算法。算法是实现结果的一组步骤。要么实现算法,要么不实现算法。它的实现方式无关紧要。每种语言都将使用该语言中可用的任何工具来实现算法中的每个步骤,然后生成结果。简而言之,每种语言都必须提供自己的加密算法实现,但也必须产生相同的结果。两种语言产生不同结果的唯一方法是其中一种或两种语言都不实际实现算法。@jmchiliney您应该将此作为答案发布。“…但不幸的是,它似乎不起作用…”。因此,请展示您的VB代码,并具体说明“它不工作”的方式。显示输入和输出,以及所有详细的错误信息,这里的专家很快就会得到答案。AES是一种加密算法。算法是实现结果的一组步骤。要么实现算法,要么不实现算法。它的实现方式无关紧要。每种语言都将使用该语言中可用的任何工具来实现算法中的每个步骤,然后生成结果。简而言之,每种语言都必须提供自己的加密算法实现,但也必须产生相同的结果。两种语言产生不同结果的唯一方法是其中一种或两种语言都不实际实现算法。@jmchiliney您应该将此作为答案发布。“…但不幸的是,它似乎不起作用…”。因此,请展示您的VB代码,并具体说明“它不工作”的方式。显示输入和输出,以及所有详细的错误信息,这里的专家将很快得到答案。