在我的应用程序中,用户输入密码QLineEdit.
QLineEdit适用于密码回显模式.
应用程序必须在不再需要时从内存中清除密码.
是否QLineEdit确保在释放之前清除所有内部缓冲区?我在文档中找不到这样的信息.
如果QLineEdit不清楚其内容,那么实现此类行为的最简单方法是什么?我希望QLineEdit尽可能多地重用功能,并且不希望从头开始实现我自己的密码编辑控件.可能吗?
请注意,即使调用setText({})不完全安全 - 如果您的应用程序被换出,字符串也可能被写入交换空间.防止这种情况的唯一方法是为lineEdit自己的内部字符串分配内存并调用mlock()它以防止交换.为此,你需要自己编写lineEdit.
此外,在将Gammaray等运行时自省工具附加到应用程序时,该文本非常简单,因为它是一个普通的QObject属性,并在RAM中进行了模糊处理.
此外,通过查看QWidgetLineControl::internalSetText(参见代码)的实现,似乎行编辑文本可用于辅助功能界面,除非可访问性支持未编译到Qt中,否则每个人都可以访问该界面.
因此,根据您的安全级别,您确实需要自己的实现.
| 归档时间: |
|
| 查看次数: |
983 次 |
| 最近记录: |