Android打印日志:Rlog和敏感信息的处理

本文探讨了Android框架层的日志打印主要使用Rlog,并介绍了如何处理敏感信息,特别是通过pii函数进行加密。然而,对于固定长度且有模式的敏感数据,如电话号码,建议使用截取部分数据的方式展示,而非依赖于pii加密。同时,文章讨论了如何通过静态常量控制日志输出,以及在有继承关系的类中如何统一日志标签,以提高日志阅读的清晰度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件工程师每天最主要的工作应该就是开发和解BUG了,而解BUG的时间应该远远高于开发的时间,无论你开发的质量有多高。可能不是你的模块引起的问题,但是需要你来帮忙分析,才能推动问题的解决。Android平台framework层打印log大部分都是采用的Rlog.java中函数族,Rlog.d,Rlog.w,Rlog.i等等。
Rlog.java中提供了pii函数(personally identifiable information),对于打印一些敏感信息,可以采用该函数进行加密,之后再打印。如果load是user load,pii将直接返回"xxxxx",如果是非user load将返回"SHA-1"的散列值。手机上的敏感信息一般包括IMSI,ICCID,IMEI,电话号码,邮箱等等,这些信息一般长度固定,会有一些pattern。例如电话号码在我国一般是11位,头一个数字是1。如果用pii进行加密,可以采用暴力进行破解(计算出所有电话号码的散列值,规模在千亿级别,之后和pii打印出的值进行比对,就可以知道实际的值了,如果对全部电话号码采用桶排序,那么搜索也是很快的(搜索40次基本上就能查到))。对长度固定和有pattern的数据最好不要使用pii进行加密,可以采用只打印部分数据的方式呈现,例如电话号码,用substr打印开头的某几位即可。
Android文件中一般会定义static final变量DBG,VDBG来控制Rlog的输出。一般格式如下

if (DBG), Rlog.d(TAG, "print info");

上面的TAG也定义为s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值