AILinkSecretAndroid是在Android平台使用java/c++开发的蓝牙加解密工具包,该开发工具包能够扫描、连接使用AILink蓝牙模组的智能设备,负责App与蓝牙模组之间的握手与A7数据的加解密。
1.将JitPack存储库添加到您的构建文件中
将其添加到存储库末尾的root build.gradle中:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
2.添加依赖项
dependencies {
implementation 'com.github.elinkthings:AILinkSecretAndroid:1.0.0'//加解密库
}
3.在gradle中配置java1.8
android {
...
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
repositories {
flatDir {
dirs 'libs'
}
}
}
/**
app发送此A6数据主动开始与ble进行握手,返回byte[]需要主动发送给ble
*/
byte[] initHandshakeArr();
/**
如果可以拿到BluetoothGatt,可调用sendHandshake方法发送握手更简单
*/
void sendHandshake(final BluetoothGatt gatt);
/**
此方法将ble检验app的A6数据进行加密,app发给设备,否则设备将断开app,返回byte[]需要主动发送给ble
*/
byte[] initHandshakeArrPwd(byte[] hex);
/**
如果可以拿到BluetoothGatt,可调用sendHandshakePwd方法发送握手更简单
*/
void sendHandshakePwd(byte[] hex);
/**
A7数据解密方法
*/
byte[] mcuDecrypt(byte[] hex, String mac);
/**
A7数据加密方法,cid为产品ID,ble协议中会包含
*/
byte[] mcuEncrypt(int cid, String mac, byte[] payload);
/**
A7数据加密方法,cid为产品ID,ble协议中会包含
*/
byte[] mcuEncrypt(int cid, String mac, byte[] payload);
/**
广播数据解密方法
*/
byte[] decryptBroadcast(byte[] payload);
具体用法详见AILinkSecretToolDemo