NDK实现的加密/解密库-Codec

Codec是一个C编写的Android加密解密库,支持Base64和MD5算法,旨在提升应用性能。在某些设备上,Base64解码速度比Java实现快3~7倍。使用简单,包含编码和解码两个类,部分算法可自定义规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址

{Codec} 一个用C写的安卓加密和解密工具类库,非视频解码!

目前支持的算法:

  • Base64
  • MD5

这两个是在安卓中较为常见的编码算法,所以先写了这两个,后面看情况逐步添加。

写这个库的主要原因是为了提高应用性能,原先一直用java代码实现,效果其实也还不错,但是用C实现可以使解码速度更快,为什么不呢?
在我的手机上实测Base64解码速度比纯Java实现快3~7倍(一万个字符下测试),算法还有很大的优化空间,后续慢慢修改。


引入Library

GitHub:https://github.com/tyzlmjj/Codec

compile 'me.majiajie:codec:1.1.0'

如何使用?

这个库只做编码和解码,所以使用的时候只需要关注两个类EncodeDecode。 顾名思义,一个编码一个解码。

以Base64为例

编码

St
/opt/android-ndk-r18b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --sysroot=/opt/android-ndk-r18b/sysroot -I/include -fPIC -c -o /tmp/ffconf.3S9556Zm/test.o /tmp/ffconf.3S9556Zm/test.c /opt/android-ndk-r18b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -L/lib -L/opt/android-ndk-r18b/sysroot/usr/lib -lmpp -lunwind --sysroot=/opt/android-ndk-r18b/sysroot -o /tmp/ffconf.3S9556Zm/test /tmp/ffconf.3S9556Zm/test.o /..//bin/ld: cannot find crt1.o: No such file or directory /..//bin/ld: cannot find crti.o: No such file or directory /..//bin/ld: cannot find crtbegin.o: No such file or directory /..//bin/ld: cannot find -lmpp /..//bin/ld: cannot find -lunwind /..//bin/ld: cannot find -lgcc /..//bin/ld: cannot find -lgcc_s /..//bin/ld: cannot find -lc /..//bin/ld: cannot find -lgcc /..//bin/ld: cannot find -lgcc_s /..//bin/ld: cannot find crtend.o: No such file or directory /..//bin/ld: cannot find crtn.o: No such file or directory clang: error: linker command failed with exit code 1 (use -v to see invocation) C compiler test failed.还是出现了问题,这是命令:./configure --target-os=android --arch=aarch64 --enable-cross-compile --cross-prefix=$TOOLCHAIN/bin/$TARGET$API- --sysroot=/opt/android-ndk-r18b/sysroot --cc=$TOOLCHAIN/bin/clang --cxx=$TOOLCHAIN/bin/clang++ --enable-rkmpp --enable-libdrm --extra-cflags="-I$MPP_ROOT/include -fPIC" --enable-shared --enable-version3 --disable-static --disable-doc --extra-ldflags="-L$MPP_ROOT/lib -L/opt/android-ndk-r18b/sysroot/usr/lib -lmpp -lunwind"
03-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值