Bladeren bron

Update the computation logic for kek-hash

Vishnu Mohandas 4 jaren geleden
bovenliggende
commit
832b0c7e74
3 gewijzigde bestanden met toevoegingen van 7 en 12 verwijderingen
  1. 5 10
      lib/utils/crypto_util.dart
  2. 1 1
      pubspec.lock
  3. 1 1
      pubspec.yaml

+ 5 - 10
lib/utils/crypto_util.dart

@@ -1,3 +1,4 @@
+import 'dart:convert';
 import 'dart:typed_data';
 
 import 'dart:io' as io;
@@ -22,7 +23,7 @@ Uint8List cryptoSecretboxOpenEasy(Map<String, dynamic> args) {
       args["cipher"], args["nonce"], args["key"]);
 }
 
-String cryptoPwhashStr(Map<String, dynamic> args) {
+Uint8List cryptoPwhashStr(Map<String, dynamic> args) {
   return Sodium.cryptoPwhashStr(
       args["input"], args["opsLimit"], args["memLimit"]);
 }
@@ -179,20 +180,14 @@ class CryptoUtil {
     final args = Map<String, dynamic>();
     args["input"] = input;
     args["opsLimit"] = Sodium.cryptoPwhashOpslimitSensitive;
-    args["memLimit"] = Sodium.cryptoPwhashMemlimitSensitive;
-    try {
-      return await Computer().compute(cryptoPwhashStr, param: args);
-    } catch (e) {
-      Logger("CryptoUtil").warning("Forced to reduce memory limit", e);
-      args["memLimit"] = Sodium.cryptoPwhashMemlimitModerate;
-      return await Computer().compute(cryptoPwhashStr, param: args);
-    }
+    args["memLimit"] = Sodium.cryptoPwhashMemlimitModerate;
+    return utf8.decode(await Computer().compute(cryptoPwhashStr, param: args));
   }
 
   static Future<bool> verifyHash(Uint8List input, String hash) async {
     final args = Map<String, dynamic>();
     args["input"] = input;
-    args["hash"] = hash;
+    args["hash"] = utf8.encode(hash);
     return await Computer().compute(cryptoPwhashStrVerify, param: args);
   }
 }

+ 1 - 1
pubspec.lock

@@ -271,7 +271,7 @@ packages:
       name: flutter_sodium
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.6"
+    version: "0.1.8"
   flutter_test:
     dependency: "direct dev"
     description: flutter

+ 1 - 1
pubspec.yaml

@@ -60,7 +60,7 @@ dependencies:
   flutter_secure_storage: ^3.3.3
   uni_links: ^0.4.0
   crisp: ^0.1.3
-  flutter_sodium: ^0.1.6
+  flutter_sodium: ^0.1.8
 
 dev_dependencies:
   flutter_test: