Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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 一个单元如何测试非确定性加密功能?_Java_Javascript_Unit Testing_Encryption - Fatal编程技术网

Java 一个单元如何测试非确定性加密功能?

Java 一个单元如何测试非确定性加密功能?,java,javascript,unit-testing,encryption,Java,Javascript,Unit Testing,Encryption,我正在尝试将一个非确定性加密函数从javascript重新实现为java。然而,我注意到函数的输出每次都不同。但是,每当我解密输出时,它总是返回原始文本 例如: 单词:你好 加密:HX?631ffe50353ddda632a7e8fa11136d6ffaa584eb43b34c96005b6256f9dc 4121c7a8545d79887b900672e5870d702441?H 解密:你好 单词:你好 加密:HX?dfea4d1d30ebd5fc871c7c92d0230baf9e5298b

我正在尝试将一个非确定性加密函数从javascript重新实现为java。然而,我注意到函数的输出每次都不同。但是,每当我解密输出时,它总是返回原始文本

例如:

单词:你好

加密:HX?631ffe50353ddda632a7e8fa11136d6ffaa584eb43b34c96005b6256f9dc 4121c7a8545d79887b900672e5870d702441?H

解密:你好

单词:你好

加密:HX?dfea4d1d30ebd5fc871c7c92d0230baf9e5298b19c3cfa0770fe2d2035f8 dad0116f2963b115c85c9d4725be505fca54?H

解密:你好

等等

为了进行单元测试,我可以想到的一种方法是在java中实现decrypt函数,然后对加密函数的输出进行解密。如果解密产生原始文本,则加密是正确的

例如:

encrypted = Encrypt_text(word);
assertEquals(word,Decrypt_text(encrypted);

任何其他建议…?

如果您对加密表单不感兴趣,那么断言就是完美的。

最好使用原始的解密函数来验证加密函数,而不是使用新的解密例程。如果您同时编写这两个文件并使用它们相互测试,您将验证数据是否正确往返,但不会验证中间结果


您可以使用Mozilla Rhino运行Javascript解密例程:

Oooooh一个Java的Javascript实现!听起来很有趣。我会查的+1.