如何保存 API 密钥而不首先暴露它们?

Rob*_*bbB 5 security api-key flutter

如果我将 API 密钥保存到 Flutter_secure_storage,它们必须首先公开。如何将它们预先加密或保存到安全存储中而不首先暴露它们?

我想添加一点安全层,安全地存储密钥,仅在进行 API 调用时才会暴露。但是,如果我对密钥进行硬编码,那么即使仅在初始应用程序运行时它们也会暴露。你如何绕过这个逻辑?

小智 1

如果这是一个Web项目,您可以在两端使用类似base64的东西,然后像这样debase并保存:

PHP 服务器

apiKeyEncoded = base64_encode(apiKeyGenerator());
Run Code Online (Sandbox Code Playgroud)

客户:

apiKeyEncoded = await getApiKey();
apiKeyDecoded = base64Decode(apiKeyEncoded).toString(); //this is the usable one, save it.
Run Code Online (Sandbox Code Playgroud)

现在,如果该项目专注于移动使用,我认为您实际上不需要实现它,尽管代码是相同的。