Eclipse preferences:如何隐藏指定key关联的敏感值
偏好导出时隐藏敏感密码配置的实现方案
下面分不同技术场景给出对应实现方式:
- 基于IntelliJ Platform插件开发场景
将密码类敏感字段从偏好持久化逻辑中单独剥离,注册PersistentStateComponent时给敏感字段添加@com.intellij.util.xmlb.Transient注解,标记该字段不参与序列化导出;也可直接将密码存入IDE内置的密码保险箱(Password Safe)模块,该模块内容默认不会被纳入全量偏好导出范围。 - 基于Eclipse插件开发场景
扩展org.eclipse.core.runtime.preferences扩展点时,给敏感配置对应的节点设置org.eclipse.core.runtime.preferences.IEclipsePreferences.PREFERENCE_BACKWARD_COMPATIBILITY为false,或者在导出偏好的PreferenceExportWizard逻辑中添加过滤规则,直接排除你存储密码的偏好节点。 - 自研偏好存储框架场景
预先维护一份敏感配置键黑名单,所有存储密码、令牌类敏感信息的键都纳入该名单。在全量偏好导出的逻辑入口处增加过滤步骤:遍历所有偏好键值对时,若键命中黑名单,直接跳过该键不写入导出文件,或把对应值替换为占位符***。
额外补充:如果你的密码加密密钥是和当前工作区/设备硬件信息绑定的,即使加密后的密码被导出,导入到其他工作区后也无法正常解密,也能间接实现敏感信息不生效的效果,可作为额外的防护层使用。
内容的提问来源于stack exchange,提问作者ROHIT S.
相关产品推荐
相关产品推荐

