你能从Java调用OpenSSL的哈希原语吗?

时间:2011-01-12 15:10:14

标签: java openssl hash

有没有人开发过JNI绑定来从Java调用OpenSSL的哈希函数?

我知道Java内置了哈希函数。问题是它们的运行速度仅为OpenSSL本机实现的三分之一。有OpenSSL-Java project on sourceforge,但没有可下载的文件。

我的目标实际上不是调用OpenSSL,而是要克服Java关于散列的次优性能。

3 个答案:

答案 0 :(得分:2)

尝试https://www.nayuki.io/page/native-hash-functions-for-java他们在x86 assemblyx86-64 assemblySELECT * FROM table WHERE LENGTH(zip) <= 5;

中实现哈希函数

SHA-256的升幅高达1.68×,但我发现小文件没有区别。

所以如果你倾向于使用小文件,我建议坚持使用java。

答案 1 :(得分:0)

我坚信你必须编写一个不仅计算哈希值而且还计算文件IO的C例程。不要忘记使用内存映射IO来提高速度,否则限制部分就是复制缓冲区。

答案 2 :(得分:-1)

显然你可以,但这是因为JNI你没有得到性能提升。