有没有人开发过JNI绑定来从Java调用OpenSSL的哈希函数?
我知道Java内置了哈希函数。问题是它们的运行速度仅为OpenSSL本机实现的三分之一。有OpenSSL-Java project on sourceforge,但没有可下载的文件。
我的目标实际上不是调用OpenSSL,而是要克服Java关于散列的次优性能。
答案 0 :(得分:2)
尝试https://www.nayuki.io/page/native-hash-functions-for-java他们在x86 assembly
,x86-64 assembly
和SELECT * FROM table WHERE LENGTH(zip) <= 5;
SHA-256的升幅高达1.68×,但我发现小文件没有区别。
所以如果你倾向于使用小文件,我建议坚持使用java。
答案 1 :(得分:0)
我坚信你必须编写一个不仅计算哈希值而且还计算文件IO的C例程。不要忘记使用内存映射IO来提高速度,否则限制部分就是复制缓冲区。
答案 2 :(得分:-1)
显然你可以,但这是因为JNI你没有得到性能提升。