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

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

原文地址

{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。 顾名思义,一个

这些都是 Android NDK 内部的 `Android.mk` 文件。其中,`./android-ndk-r25c/sources/android/native_app_glue/Android.mk` 是用于编译 Native Activity 示例应用程序的 `Android.mk` 文件;`./android-ndk-r25c/sources/android/support/Android.mk` 是包含一些 Android 支持的 `Android.mk` 文件;`./android-ndk-r25c/sources/android/ndk_helper/Android.mk` 是包含一些辅助函数和类的 `Android.mk` 文件;`./android-ndk-r25c/sources/android/cpufeatures/Android.mk` 是用于编译 `cpufeatures` 的 `Android.mk` 文件,该提供了一些 CPU 相关的信息和功能;`./android-ndk-r25c/sources/cxx-stl/llvm-libc++abi/Android.mk` 和 `./android-ndk-r25c/sources/cxx-stl/llvm-libc++/Android.mk` 是用于编译 C++ STL 的 `Android.mk` 文件,分别对应 libc++abi 和 libc++ 两个 STL ;`./android-ndk-r25c/sources/third_party/googletest/Android.mk` 是用于编译 Google Test 测试框架的 `Android.mk` 文件;`./android-ndk-r25c/sources/third_party/shaderc/Android.mk` 是用于编译 Shaderc 编译器的 `Android.mk` 文件,该编译器可以将 GLSL 代码编译成 SPIR-V 代码;`./android-ndk-r25c/sources/third_party/shaderc/libshaderc/Android.mk` 是用于编译 Shaderc 的 `Android.mk` 文件;`./android-ndk-r25c/sources/third_party/shaderc/libshaderc_util/Android.mk` 是用于编译 Shaderc Util 的 `Android.mk` 文件,该提供了一些辅助函数和类;`./android-ndk-r25c/sources/third_party/shaderc/third_party/Android.mk` 是用于编译 Shaderc 编译器依赖的第三方的 `Android.mk` 文件,包括 glslang 和 spirv-tools 两个;`./android-ndk-r25c/sources/third_party/shaderc/third_party/glslang/Android.mk` 是用于编译 glslang 的 `Android.mk` 文件;`./android-ndk-r25c/sources/third_party/shaderc/third_party/spirv-tools/Android.mk` 是用于编译 spirv-tools 的 `Android.mk` 文件;`./android-ndk-r25c/sources/third_party/vulkan/src/build-android/jni/Android.mk` 是用于编译 Vulkan 的 `Android.mk` 文件。 如果您要在 Android NDK 中编写自己的 `Android.mk` 文件,可以参考这些示例文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值