当前位置: 首页 > 知识库问答 >
问题:

如何将内存中的密码清零?Flutter保留来自TextEditingController的所有输入

经炜
2023-03-14

似乎文本编辑控制器将所有纯输入文本(包括密码)保留在内存中。

到目前为止,我已经尝试了很多东西

  • controller.dispose()
  • 设置值null
  • 替换为其他文本
  • 使用FFI
  • 清零 controller.text的内存

问题是输入日志(纯文本json格式)保留在内存中。

https://github.com/flutter/flutter/issues/84708

这对我来说是一个至关重要的问题。

请告诉我如何将内存中的密码归零。

非常感谢。

共有2个答案

广宏远
2023-03-14

当您在登录按钮标签,然后只是写_controller.text="

田翔
2023-03-14

您无法在 Dart 中有效地将内存归零。Dart 中的内存由垃圾回收器管理,因此您无法控制内存分配的生存期,也无法阻止复制或移动内存。此外,飞镖字符串s 是不可变的。

减轻这种情况的一种方法是使用< code>dart:ffi并让所有涉及密码的操作都通过一个C或C库,在那里内存不是由GC管理的,但是如果您首先使用dart代码从用户那里获取密码,这仍然没有完全的帮助。

 类似资料:
  • 我的GPU是NVIDIA RTX 2080 TI Keras 2.2。4. Tensorflow gpu 1.12。0 CUDA 10.0 一旦我加载构建模型(编译前),我发现GPU内存被完全分配 [0]GeForce RTX 2080钛合金50℃下,15%钛合金10759/10989 MB钛合金issd/8067(10749米) 可能是什么原因,我如何调试它? 即使通过生成器加载,我也没有多余的

  • 问题内容: 下面是一段代码,它是功能解密和加密程序的一部分。 如您所见,两个变量i和j首先被视为字符串,以便在任何一位数字前添加一个0(作为字符串)。然后将这些变量组合成一个四位数的数字(仍为字符串)。在程序的后面,在函数中使用创建的数字,因为s删除所有前导零。 我的问题:是否可以强制python保持s的前导零?我已经并且继续在线搜索。 编辑 为了帮助人们,我将程序的加密部分包括在内。这就是问题所

  • 保存密码/自动登入 若要使用此机能,可能需先更新系统软件。 保存密码后,会显示已输入密码的登入画面,且不需每次频繁输入密码。此外,设定自动登入后,每次启动(账户管理)或(PlayStation®Store)时,皆会自动登入PlayStation®Network。 重要 保存密码后,可能会有第三者未经许可即擅自利用网络服务或阅览情报,请多注意。 将PSP™委托修理、转让给他人或返还给销售店(仅限部分

  • 问题内容: 问题是这样的:我有一个像这样的XML片段: 为了得到结果,我想删除所有-和-Tags,但保留它们的(文本)内容和子节点不变。另外,-Element应该保持不变。结果应该这样 目前,我将回到一个非常肮脏的把戏:我将etree.tostring这个片段,通过正则表达式删除有问题的标签,并用etree.fromstring结果替换原始片段(不是真正的代码,但是应该这样): 我知道我可能可以使

  • Flutter的构造似乎有问题。 每次在模拟器或设备上运行应用程序时,我总是需要执行RUN>Flutter完全重启。 否则,应用程序加载一个脚手架体,我的代码从2周前,当我第一次开始编码它。 这是pastebin的最新消息来源 我猜flutter已经缓存了旧代码,从来没有费心用新代码替换它,但我不确定它是如何实现的。无论如何,我不认为在我们已经执行完全重建时有必要加载旧缓存。

  • 问题内容: 目的是在内存不足的情况下,在Linux中将每个正在运行的进程的可执行代码保留在内存中。 在Linux中,我可以立即(1秒)造成高内存压力,并通过Qubes OS R4.0 Fedora 28 AppVM内具有24000MB最大RAM 的(此处的代码)触发OOM杀手 。 EDIT4: 也许相关,但我忘了提及,是我没有启用交换功能(即未设置) 的事实 dmesg报告: 有趣的部分是它们以千