本文主要是介绍Android 低端手机使用SCrypt算法过慢之解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Android 低端手机使用SCrypt算法过慢之解决方法
问题描述:
最近在做BTC钱包项目,其中会用到一个SCrypt的加密方法,but在高端机上面 运行速度还算可以,但是在低端机手机上简直不能忍,十几分钟过去了 还在算。所以得用C的代码去运行这个方法。
百度之后大部分是用编译器把C代码打成so包放进去,但是觉得这样很麻烦,而且跨Module之后需要引用 就很麻烦,不如直接把依赖中的SCrypt整体给替换掉。
解决方法:
- 在使用SCrypt的module中添加CMake文件和cpp文件夹以及相关的C版本的算法代码。
其中CMakeLists.txt
- 需要在Module 的gradle中添加声明:
因为cpp的文件中有config.h 这个文件所以上面的 cmake声明也不能少
build完之后 就可以了。 因为之前java版本的SCrypt是在
com/lambdaworks/crypto/SCrypt
这个包下面的所以这里需要替换包的路径。
cpp文件下载:下载链接
好了 以上。记录踩坑!
这篇关于Android 低端手机使用SCrypt算法过慢之解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!