ApkChecksum的getValue()方法返回字节数组的编码格式是什么?
关于Android ApkChecksum.getValue()返回字节数组格式的疑问
从Android API 31开始,PackageManager新增了requestChecksums()方法,可获取APK的各类哈希值,调用后会得到List<ApkChecksum>对象。但ApkChecksum的官方文档说明十分简略,其中getValue()方法返回的是字节数组(byte[])类型的校验和值,且该值不会为null。
官方文档没有提及这个字节数组的编码/格式,但需要明确:这个字节数组并非采用某种字符编码(比如UTF-8、ASCII这类),它是哈希算法计算后输出的原始二进制结果——比如SHA-256哈希会生成32字节的二进制数据,getValue()直接返回的就是这些原始字节,不存在字符编码的概念。
如果需要将这个二进制数组转换为可读的字符串形式,通常会使用十六进制编码(将每个字节转换为两位十六进制字符)或者Base64编码,这是处理二进制哈希值的常规做法。
内容的提问来源于stack exchange,提问作者auspicious99
相关产品推荐
相关产品推荐

