在你的 Flutter 项目中隐藏敏感信息

Posted 会煮咖啡的猫咪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在你的 Flutter 项目中隐藏敏感信息相关的知识,希望对你有一定的参考价值。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MkupBlpP-1625178380167)(https://ducafecat.tech/2021/07/02/translation/learn-the-best-way-to-hide-sensitive-keys-in-your-flutter-app/2021-07-02-06-19-17.png)]

猫哥说

有的时候我们需要在项目中隐藏敏感信息,比如你的阿里 OSS 账号 AccessKey ,写入代码中上传 git 仓库,是一件很危险的事情,所以我们需要用环境变量的方案来隐藏,记得你的 .env 文件要加入 .gitignore 文件中进行过滤呀。

老铁记得 转发 ,猫哥会呈现更多 Flutter 好文~~~~

微信群 ducafecat

b 站 https://space.bilibili.com/404904528

原文

https://medium.com/flutter-community/learn-the-best-way-to-hide-sensitive-keys-in-your-flutter-app-ac7638435401

代码

https://github.com/Wizpna/flutter_dotenv_tutorial.git

参考

  • https://pub.dev/packages/flutter_dotenv

正文

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wsUYjgbI-1625178380169)(https://ducafecat.tech/2021/07/02/translation/learn-the-best-way-to-hide-sensitive-keys-in-your-flutter-app/2021-07-02-06-02-01.png)]

我很高兴能写这个话题,因为这是一个移动应用程序开发者必须很少或已知的知识领域。

作为一个应用程序开发者,在谷歌游戏商店或苹果商店上开发和部署应用程序并不意味着你已经耗尽了移动应用程序开发周期。

移动应用程序开发周期还包括提高应用程序安全性。

这就是为什么我分享这篇文章,以便您将学习如何隐藏敏感的安全密钥在您的 Flutter 应用程序。

在本文的最后,您将学习如何使用一个名为 Flutter_dotenv 的 Flutter 插件来隐藏您的 Flutter 应用程序中的敏感键。

https://pub.dev/packages/flutter_dotenv

那么让我们开始吧

使用 Visual Studio、 IntelliJ 或 android Studio 创建您的 flutter 应用程序,然后打开“ pubspec.yaml”文件,并安装以下包。

dependencies:
  flutter_dotenv: ^5.0.0

在您的 flutter 项目的根目录下创建一个.env 文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UjY9ZnNv-1625178380170)(https://ducafecat.tech/2021/07/02/translation/learn-the-best-way-to-hide-sensitive-keys-in-your-flutter-app/2021-07-02-06-05-06.png)]

将新创建的. env 文件添加到 pubspec.yaml 文件中的资产包中。

assets:
  - .env

请注意: 添加新创建的。在 pubspec.yaml 文件中,请运行 flutter Pub get in the terminal,或者单击 Pub get in IntelliJ 或 Android Studio 将该文件添加到当前的工作目录文件夹中。

在成功添加了。在 pubspec.yaml 文件中添加您的敏感键。你创建的 env 文件。(例如,见下图)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6IdKTjgW-1625178380171)(https://ducafecat.tech/2021/07/02/translation/learn-the-best-way-to-hide-sensitive-keys-in-your-flutter-app/2021-07-02-06-05-56.png)]

下一步是在 main.dart 文件中初始化/加载. env 文件内容,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02FK7qXA-1625178380171)(https://ducafecat.tech/2021/07/02/translation/learn-the-best-way-to-hide-sensitive-keys-in-your-flutter-app/2021-07-02-06-06-12.png)]

下一步将访问。环形文件。你可以访问。使用下面的代码。

dotenv.env['VAR_NAME'];

请参阅下面的图片以获得正确的理解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qWZN0Qvj-1625178380171)(https://ducafecat.tech/2021/07/02/translation/learn-the-best-way-to-hide-sensitive-keys-in-your-flutter-app/2021-07-02-06-06-59.png)]

使用物理设备或模拟器测试运行项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-199PrnvI-1625178380172)(https://ducafecat.tech/2021/07/02/translation/learn-the-best-way-to-hide-sensitive-keys-in-your-flutter-app/2021-07-02-06-07-18.png)]

请注意: 为了这个教程的缘故,我必须显示我添加在我的灵敏度键。因为我希望你们都能看到它,了解如何将敏感的密钥存储在 env 文件中,并在 flutter 应用程序中的任何地方访问它。

这种将敏感密钥存储在 env 文件中的模式有助于在黑客对应用进行反编译时,安全引导敏感密钥不被暴露。

永远记住添加。文件作为一个条目在您的 .gitignore 文件。(一) .gitignore 文件是一个纯文本文件,其中每一行包含 git working copy 中不包含的文件/目录。)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qCtQ8CmD-1625178380174)(https://ducafecat.tech/2021/07/02/translation/learn-the-best-way-to-hide-sensitive-keys-in-your-flutter-app/2021-07-02-06-08-14.png)]

如果你读到这里,恭喜你!

这是你刚刚参与的项目的源代码。

https://github.com/Wizpna/flutter_dotenv_tutorial.git

如果你发现这篇文章有帮助和教育,请击击击掌按钮尽可能多的次数,以显示您的支持


© 猫哥

https://ducafecat.tech/

https://github.com/ducafecat

往期

开源

GetX Quick Start

https://github.com/ducafecat/getx_quick_start

新闻客户端

https://github.com/ducafecat/flutter_learn_news

strapi 手册译文

https://getstrapi.cn

微信讨论群 ducafecat

系列集合

译文

https://ducafecat.tech/categories/%E8%AF%91%E6%96%87/

开源项目

https://ducafecat.tech/categories/%E5%BC%80%E6%BA%90/

Dart 编程语言基础

https://space.bilibili.com/404904528/channel/detail?cid=111585

Flutter 零基础入门

https://space.bilibili.com/404904528/channel/detail?cid=123470

Flutter 实战从零开始 新闻客户端

https://space.bilibili.com/404904528/channel/detail?cid=106755

Flutter 组件开发

https://space.bilibili.com/404904528/channel/detail?cid=144262

Flutter Bloc

https://space.bilibili.com/404904528/channel/detail?cid=177519

Flutter Getx4

https://space.bilibili.com/404904528/channel/detail?cid=177514

Docker Yapi

https://space.bilibili.com/404904528/channel/detail?cid=130578

以上是关于在你的 Flutter 项目中隐藏敏感信息的主要内容,如果未能解决你的问题,请参考以下文章

Web应用程序的敏感信息-隐藏目录和文件

在你的wordpress文章中插入一个片段

如何隐藏Apache版本号和其它敏感信息

如何在你的 Flutter 中使用 input chip 标签组件

如何隐藏 Apache 版本号和其它敏感信息

隐藏手机号邮箱等敏感信息