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

软件工程师每天最主要的工作应该就是开发和解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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值