Skip to content

BillyWei01/FastAES

Repository files navigation

FastAES

Maven Central

1. 概述

FastAES是基于Android平台的AES加解密实现。

其加解密速度比Android SDK提供的实现要快一个数量级。

加解密核心部分来源于:OPENSSL
https://github.com/openssl/openssl/blob/master/crypto/aes/aes_core.c

OPENSSL提供了几种AES的实现,本项目取其中的查表的实现,并封装了AES/CBC/PKCS7Padding模式。
和Android SDK的AES实现对比,要快一个数量级。
同时测试了一下KeyStore提供的AES加解密,KeyStore的运算慢的离谱。

下面是测试情况。
测试数据:1000个长度在100字节以内的随机数组。
测试设备:HUAWEI P30 Pro。
测试结果:

耗时(ms)
FastAES 1
SDK AES 24
KeyStore AES 20036

额外提一下,如果要使用KeyStore,建议选用其HMAC算法(Android 6.0以上可用)加密一段固定数组,所得结果作为AES的key。
再用FastAES来加解密。

2. 使用方法

2.1 导入

dependencies {
    implementation 'io.github.billywei01:fastaes:1.1.5'
}

2.2 使用

    byte[] cipher = FastAES.encrypt(data, key, iv);
    byte[] plain = FastAES.decrypt(cipher, key, iv);

3. 相关链接

博客: https://juejin.cn/spost/7263784662698754103

用例: FastKV-AESCipher

更多加密的实现: EasyCipher

License

See the LICENSE file for license rights and limitations.

About

比SDK快10倍的AES加解密实现。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published