Android 中 MD5 与 Java 不同的解决方案

前几天遇到一个需求, 对密码进行Base64编码后再MD5

结果如下

Android中的结果

Android 中 MD5 与 Java 不同的解决方案

Java中的结果

Android 中 MD5 与 Java 不同的解决方案

 

Base64之后的字符串相同,但MD5结果不一致,查看了源码之后发现,是 Android中Base64补位方式与Java不一致导致的

Java中的base64数组

[98, 50, 116, 115, 90, 88, 82, 122, 90, 50, 56, 61]

Android中的base64数组

[98, 50, 116, 115, 90, 88, 82, 122, 90, 50, 56, 61, 10]

Android 中 MD5 与 Java 不同的解决方案

出现这个情况是因为使用了Android原生的Base64工具类,

只需要改变下 Base64 encode 的第二个参数 

结果就一致了

 Android 中 MD5 与 Java 不同的解决方案Android 中 MD5 与 Java 不同的解决方案