FastAES
比SDK快10倍的AES加解密实现。
Install / Use
/learn @BillyWei01/FastAESREADME
FastAES
1. 概述
FastAES是基于Android平台的AES加解密实现。<br>
其加解密速度比Android SDK提供的实现要快一个数量级。
加解密核心部分来源于:OPENSSL <br> https://github.com/openssl/openssl/blob/master/crypto/aes/aes_core.c
OPENSSL提供了几种AES的实现,本项目取其中的查表的实现,并封装了AES/CBC/PKCS7Padding模式。<br> 和Android SDK的AES实现对比,要快一个数量级。<br> 同时测试了一下KeyStore提供的AES加解密,KeyStore的运算慢的离谱。
下面是测试情况。<br> 测试数据:1000个长度在100字节以内的随机数组。<br> 测试设备:HUAWEI P30 Pro。<br> 测试结果:
| | 耗时(ms)
--------------|---
FastAES | 1
SDK AES | 24
KeyStore AES | 20036
额外提一下,如果要使用KeyStore,建议选用其HMAC算法(Android 6.0以上可用)加密一段固定数组,所得结果作为AES的key。<br> 再用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.
