mirror of
https://github.com/jagandeepbrar/lunasea.git
synced 2026-08-30 20:24:25 +00:00
NEW - [Networking] Strict TLS/SSL validation is now disabled globally - [Routing] Hold the AppBar back button to pop back to the home page of the module - [Settings/Sonarr] Toggle to enable Sonarr v3 features - [Sonarr] Complete rewrite of Sonarr - [Sonarr] State is now held across module switches - [Sonarr/Overview] View tags applied to series - [Sonarr/Catalogue] (v3 only) Ability to set and update language profile - [Sonarr/Catalogue] Ability to view all, only monitored, or only unmonitored series - [Sonarr/Releases] (v3 only) Ability to interactively search for season packs - [Sonarr/Releases] Ability to view all, only approved, or only rejected releases TWEAKS - [Settings] Removed all toggles for strict TLS - [Sonarr] Many tweaks to Sonarr's design - [Sonarr/Add] (v3 only) Tapping an already-added series will take you to the series page - [Sonarr/Add] Automatically navigate to newly added series - [Sonarr/Series] Toggling monitored state of series has now been moved to the edit prompt FIXES - [Images] Images will now load for invalid/self-signed certificates - [Tautulli/Activity] Fix grey screen for music activity - [TextField] Fix TextField actions (cut, copy, paste, etc.) not showing - [Timestamps] Fix 12:xx AM being shown as 00:xx AM - Additional small bug fixes
34 lines
1.3 KiB
Dart
34 lines
1.3 KiB
Dart
import 'package:encrypt/encrypt.dart';
|
|
import 'package:lunasea/core.dart';
|
|
|
|
class LunaEncryption {
|
|
LunaEncryption._();
|
|
|
|
static String encrypt(String encryptionKey, String data) {
|
|
try {
|
|
String _key = (encryptionKey+encryptionKey).padRight(32, '0').substring(0, 32);
|
|
Key key = Key.fromUtf8(_key);
|
|
IV iv = IV.fromLength(16);
|
|
final _encrypter = Encrypter(AES(key));
|
|
final _encrypted = _encrypter.encrypt(data, iv: iv).base64;
|
|
return _encrypted;
|
|
} catch (e) {
|
|
LunaLogger.error('package:lunasea/core/configuration/encryption.dart', 'encrypt', 'Encryption error', e, StackTrace.current);
|
|
}
|
|
return Constants.ENCRYPTION_FAILURE;
|
|
}
|
|
|
|
static String decrypt(String decryptionKey, String data) {
|
|
try {
|
|
String _key = (decryptionKey+decryptionKey).padRight(32, '0').substring(0, 32);
|
|
Key key = Key.fromUtf8(_key);
|
|
IV iv = IV.fromLength(16);
|
|
final _encrypter = Encrypter(AES(key));
|
|
return _encrypter.decrypt64(data, iv: iv);
|
|
} catch (e) {
|
|
LunaLogger.error('package:lunasea/core/configuration/encryption.dart', 'decrypt', 'Decryption error', e, StackTrace.current);
|
|
}
|
|
return Constants.ENCRYPTION_FAILURE;
|
|
}
|
|
}
|