gpt4 book ai didi

qt - QLineEdit密码安全

转载 作者:行者123 更新时间:2023-12-01 11:41:33 24 4
gpt4 key购买 nike

在我的应用程序中,用户在 QLineEdit 中键入他的密码。QLineEdit 在密码回显模式下工作。

应用程序必须在不再需要时从内存中清除密码。

QLineEdit 是否确保在释放所有内部内存缓冲区之前清除它们?我在文档中找不到此类信息。

如果 QLineEdit 不清除其内容,那么实现这种行为的最简单方法是什么?我想尽可能重用 QLineEdit 功能,不想从头开始实现我自己的密码编辑控件。可能吗?

最佳答案

请注意,即使调用 setText({}) 也不是完全安全的 - 如果您的应用程序被换出,字符串可能会被写入交换空间。防止这种情况的唯一方法是自己为 lineEdit 的内部字符串分配内存,并对其调用 mlock() 以防止交换。为此,您需要编写自己的 lineEdit

此外,在附加运行时内省(introspection)工具(如 Gammaray)时,文本很容易理解。到您的应用程序,因为它是一个普通的 QObject 属性,并以混淆方式存储在 RAM 中。

此外,通过查看 QWidgetLineControl::internalSetText 的实现(参见 the code ),行编辑文本似乎可用于辅助功能界面,每个人都可以访问,除非辅助功能支持未编译到 Qt 中。

因此,根据您的安全级别,您确实需要自己的实现。

关于qt - QLineEdit密码安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20048081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com