pharmacy_mobile/lib/security/encryption.dart
2025-02-25 15:18:41 +08:00

24 lines
678 B
Dart

import 'package:lazyxchacha/keypair.dart' as kp;
import 'package:lazyxchacha/lazyxchacha.dart';
final key = kp.KeyPair.newKeyPair();
Future<String> encrypt(String text) async {
final lazyxchacha = LazyXChaCha.instance;
final localKey = await key;
final sharedKey = await localKey.sharedKey(localKey.pk);
final ciphertext = await lazyxchacha.encrypt(text, sharedKey);
return ciphertext;
}
Future<String> decrypt(String encrypted) async {
final lazyXChaCha = LazyXChaCha.instance;
final localKey = await key;
final sharedKey = await localKey.sharedKey(localKey.pk);
final plaintext = await lazyXChaCha.decrypt(encrypted, sharedKey);
return plaintext;
}