# sloth【树懒-闪电】
跨平台安全以及高性能加解密集合库,包含国密(sm2,sm3,sm4),hex,md5,base64 [API持续更新中..]
### 简介
sloth是基于开源跨平台加解密库openssl实现的一系列加解密算法API,本项目工程适用于Android项目,兼容arm,x86平台;
### 导入SDK
1.在项目的根目录build.gradle中的repositories 添加:
```
repositories {
jcenter()
}
```
2.然后在模块的build.gradle(Module) 的 dependencies 添加:
```
dependencies {
compile 'com.bulinbulin:sloth:1.0.0'
}
```
### 接口方法
```
/**
* 生成国密sm2的公私钥对
* @return KeyPairInfo对象
*/
public native KeyPairInfo createKeyPair();
```
```
/**
* sm2加密算法,以C1C2C3模式拼接返回,采用推荐曲线
* @param data 需要加密内容
* @param key 加密的公钥,长度为64字节
* @return 加密后经过hex编码后返回
*/
public native byte[] sm2Encrypt(String data, byte[] key);
```
```
/**
* sm2加密算法,以C1C2C3拼接传入,采用推荐曲线
* @param data 需要解密的数据,此数据方法内部进行hex解码
* @param key 解密的私钥,长度为32字节
* @return 解密后的数据,以byte数组返回
*/
public native byte[] sm2Decrypt(String data, byte[] key);
```
```
/**
* sm3加密
* @param data 需要计算sm3的字节数组
* @return 返回64长度的字符串
*/
public native String sm3(byte[] data);
```
```
/**
* sm4加密,加密后的长度如果不满足16的倍数,则进行补位
* @param data 需要加密的数据
* @param key 加密的key
* @return sm4加密后进行base64加密然后进行返回
*/
public native String sm4Encrypt(byte[] data, byte[] key);
```
```
/**
* sm4解密,解密先进行data的base64解密,然后再进行sm4解密
* base64操作已经内部封装
* @param data 解密的base64字符串
* @param key 解密的秘钥
* @return sm4先进行base64解密再进行sm4解密
*/
public native byte[] sm4Decrypt(byte[] data,byte[] key);
```
```
/**
* md5加密
* @param data 需要进行md5的数据
* @return 返回64长度的字符串
*/
public native String md5(byte[] data);
```
```
/**
* byte[]->十六进制转换
* @param data
* @return 十六进制编码
*/
public native String hexEncode(byte[] data);
```
```
/**
* 十六进制->byte[]转换
* @param data 需要转换的十六进制字符串
* @return 转换后的字节数组
*/
public native byte[] hexDecode(String data);
```
```
/**
* base64加密
* @param data 需要加密的数据(byte数组类型)
* @return base64后的字符串
*/
public native String base64Encode(byte[] data);
```
```
/**
* base64加密
* @param data 需要解密的数据(ByteArray类型)
* @return base64解密后的字节数组(ByteArray)
*/
public native byte[] base64Decode(byte[] data);
```
### Demo实例
请参考Demo 示例,有详细的说明介绍。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
Android安全且高性能加解密算法,基于OpenSSL.zip (207个子文件)
libcrypto.a 3.91MB
libcrypto.a 3.7MB
libssl.a 738KB
libssl.a 715KB
gradlew.bat 2KB
sm2_encrypt_and_decrypt.c 16KB
sm4.c 15KB
sec.c 14KB
md5.c 9KB
test_sm2_encrypt_and_decrypt.c 8KB
base64.c 6KB
hex.c 3KB
sm2_create_key_pair.c 2KB
test_demo.c 1KB
sm3hash.c 523B
.gitignore 444B
.gitignore 7B
.gitignore 7B
build.gradle 2KB
build.gradle 1KB
build.gradle 787B
settings.gradle 27B
gradlew 5KB
obj_mac.h 212KB
ssl.h 109KB
evp.h 73KB
tls1.h 71KB
ec.h 62KB
sslerr.h 45KB
x509.h 42KB
bio.h 34KB
engine.h 34KB
asn1.h 33KB
x509v3.h 32KB
asn1t.h 32KB
x509_vfy.h 31KB
ts.h 22KB
rsa.h 22KB
bn.h 22KB
evp_int.h 17KB
crypto.h 17KB
cms.h 16KB
ui.h 16KB
ct.h 16KB
ecerr.h 15KB
pem.h 15KB
ocsp.h 15KB
ssl3.h 14KB
asn1err.h 14KB
dh.h 13KB
pkcs7.h 11KB
err.h 11KB
store.h 11KB
cmserr.h 11KB
evperr.h 11KB
modes.h 10KB
pkcs12.h 10KB
dsa.h 9KB
x509_int.h 9KB
lhash.h 9KB
rsaerr.h 9KB
e_os2.h 9KB
x509v3err.h 9KB
safestack.h 8KB
md32_common.h 8KB
des.h 7KB
tserr.h 7KB
x509err.h 6KB
objects.h 6KB
bioerr.h 6KB
ossl_typ.h 6KB
conf.h 5KB
engineerr.h 5KB
pkcs7err.h 5KB
pemerr.h 5KB
asn1_int.h 5KB
bnerr.h 5KB
rand_drbg.h 5KB
sm2_encrypt_and_decrypt.h 5KB
opensslconf.h 4KB
rand_int.h 4KB
randerr.h 4KB
storeerr.h 4KB
kdf.h 4KB
opensslv.h 4KB
dherr.h 4KB
sha.h 4KB
srp.h 4KB
pkcs12err.h 4KB
seed.h 3KB
bn_int.h 3KB
cterr.h 3KB
conferr.h 3KB
aes.h 3KB
ocsperr.h 3KB
ctype.h 3KB
camellia.h 3KB
stack.h 3KB
dsaerr.h 3KB
uierr.h 3KB
共 207 条
- 1
- 2
- 3
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- CDBL, a JSON alternative, Curly Brackets Document Layout
- A website for updating and displaying the CBDL tag game data
- 串口与按键控制直流电机运行及液晶屏显示状态
- 精品英格索兰远程管理系统项目细化
- google个人资料.psd
- Windows下开箱后即时编译体验freeRTOS 的MDK demo工程,使用事件Event实现freeRTOS多线程通信
- 深度学习花卉识别五分类
- apache-tomcat-10.1.24 , 国外下载慢的,可以这里下
- EOM_Drive_Top.v
- Oracle MMA高可用架构及性能调优
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功