安装加密依赖后出现颤振错误

问题描述

我正在开发一个简单的应用程序,在身份验证方面,我需要使用 encrypt 包来加密 jwt 令牌,但是由于我安装了 encrypt 依赖项,Flutter 现在给了我这个错误

    Flutter pub add encrypt Launching lib\main.dart on Chrome in debug mode...
    Flutter/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.1.3/lib/key_derivators/argon2.dart:42:27:
Error: The integer literal 0xFFFFFFFFFFFFFFFF can't be represented exactly in JavaScript.
    Try changing the literal to something that can be represented in Javascript.
    In Javascript 0x10000000000000000 is the nearest value that can be represented exactly. static const int M32L = 0xFFFFFFFFFFFFFFFF; 
    
    Flutter/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.1.3/lib/src/utils.dart:313:9:
Error: The integer literal 0xFFFFFFFFFFFFFFFF can't be represented exactly in JavaScript.
    Try changing the literal to something that can be represented in Javascript.
    In Javascript 0x10000000000000000 is the nearest value that can be represented exactly. ((0xFFFFFFFFFFFFFFFF) ^ ((1 << (64 - count)) - 1));
    
    Flutter/.pub-cache/hosted/pub.dartlang.org/pointycastle-3.1.3/lib/src/platform_check/platform_check.dart:6:35: Error: Method not found: 'getPlatform'. static Platform get instance => getPlatform(); Failed to compile application.

或者,您知道任何其他用于加密字符串的库吗?

解决方法

pointycastle-3.1.3 不完全支持网络。

如果它是您在 pubspec.yaml 中作为依赖项添加的包,则将其升级到预发布版本;

dependencies:
  pointycastle: ^3.2.0-rc0

但是如果它依赖于你导入的另一个包, 然后添加预发布版本作为依赖覆盖;

dependency_overrides:
  pointycastle: ^3.2.0-rc0
,

我没有足够的声誉来评论之前的答案,但有一些需要更正的地方:

dependency_overrides:

代替

dependency_override: