Android 低端手机使用SCrypt算法过慢之解决方法

Android 低端手机使用SCrypt算法过慢之解决方法

问题描述:

最近在做BTC钱包项目,其中会用到一个SCrypt的加密方法,but在高端机上面 运行速度还算可以,但是在低端机手机上简直不能忍,十几分钟过去了 还在算。所以得用C的代码去运行这个方法。

百度之后大部分是用编译器把C代码打成so包放进去,但是觉得这样很麻烦,而且跨Module之后需要引用 就很麻烦,不如直接把依赖中的SCrypt整体给替换掉。

解决方法:

  1. 在使用SCrypt的module中添加CMake文件和cpp文件夹以及相关的C版本的算法代码。
    整体结构
    其中CMakeLists.txt
    这里写图片描述
  2. 需要在Module 的gradle中添加声明:
    这里写图片描述
    因为cpp的文件中有config.h 这个文件所以上面的 cmake声明也不能少
    build完之后 就可以了。
  3. 因为之前java版本的SCrypt是在com/lambdaworks/crypto/SCrypt这个包下面的所以这里需要替换包的路径。
    这里写图片描述

    cpp文件下载:下载链接
    好了 以上。记录踩坑!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值