BShield Flutter Plugin
BShield Flutter Plugin callback.
Getting Started
BShield OS
import 'package:flutter_bshield_callback/flutter_bshield_callback.dart';
Uint8List shieldData = await FlutterBShieldCallback.readData();
await FlutterBShieldCallback.insertParameter("Your key", "Your value");
await FlutterBShieldCallback.updateConfig();
await FlutterBShieldCallback.retry();
Uint8List assets = await FlutterBShieldCallback.readAssets("test.txt");
BShield API protection
try {
String urlString = 'https://example.com/v1/foo';
final url = Uri.parse(urlString);
Map<String, String> data = {
'name': 'Test',
'address': 'Viet Nam',
};
String body = jsonEncode(data);
Uint8List signature = await FlutterBShieldCallback.generateSignature(urlString, Uint8List.fromList(utf8.encode(body)), "POST");
int shieldCode = await FlutterBShieldCallback.getShieldCode();
final response = await http.post(
url,
headers: {
'Content-Type': 'application/json',
'xqcode': shieldCode.toString(),
'xqsig': base64Encode(signature)
},
body: body,
);
if (response.statusCode == 200 || response.statusCode == 201) {
log('Success: ${response.body}');
} else {
log('Error: ${response.statusCode} - ${response.body}');
}
} catch (e) {
log('Exception: $e');
}
BShield Data Protection
await FlutterBShieldCallback.saveFile(filePath, fileContent);
final fileContent = await FlutterBShieldCallback.readFile(filePath);
final ciphertext = await FlutterBShieldCallback.encryptData(plaintext);
final plaintext = await FlutterBShieldCallback.decryptData(ciphertext);
final plaintext = await FlutterBShieldCallback.decryptRemoteData(ciphertext);
await FlutterBShieldCallback.setString(key, value);
final stringValue = await FlutterBShieldCallback.getString(key);
await FlutterBShieldCallback.setInteger(key, value);
final intValue = await FlutterBShieldCallback.getInteger(key);
await FlutterBShieldCallback.setBoolean(key, value);
final booleanValue = await FlutterBShieldCallback.getBoolean(key);
await FlutterBShieldCallback.removeKey(key);
await FlutterBShieldCallback.removeAll();
Proguard/R8 rule: -keep class io.bshield.** { *; }