我正在寻找一个 dart 包,以便在 Flutter 应用程序中实现密钥交换协议(椭圆曲线 Diffie-Hellman)。所以流程会是这样的:
- 应用程序在登录期间生成一个密钥对并将公钥发送到服务器(因此每次登录都会生成一个新的密钥对)
- 服务器发回它刚刚生成的公钥
- 应用程序从它的私钥和服务器的公钥生成一个密钥
- app 包含所有后续发送到服务器的消息的 hmac
我尝试使用ed25519_dart 包生成密钥,但它不起作用。由于integer literal can't be represented in 64 bits
错误,我的应用程序甚至无法启动,飞镖分析器也指出了这一点。
我还看了pointycastle,但它似乎不支持 Diffie-Hellman。
Diffie–Hellman 包也不适合我。提供的示例在第一行抛出此异常:
FormatException: Invalid radix-16 number
FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B1...
知道如何在 Flutter 应用程序中实现我想要做的事情吗?