Android常见的加密算法
Android中常见的加密算法按可逆不可逆分为两大类吧。 1.不可逆的算法 主要为MD5和SHA-1算法。 相同点:都是使用目前比较广泛的散列(Hash)函数,就是把任意长度的输入,变换成固定长度的输出,该输出就是散列值。计算的时候所有的数据都参与了运算,其中任何一个数据变化了都会导致计算出来的Hash值完全不同。(理论上来讲产生的密文都有可能产生碰撞) 不同点:MD5输出是128位的,SHA-1输出是160位的,MD5比SHA1运行速度快,SHA1比MD5强度高。MD5一般用于文件的校验,SHA-1主要使用于数字签名标准。 MD5使用: 1 public static String digest(String content){ 2 StringBuilder builder = new StringBuilder(); 3 try { 4 MessageDigest msgDitest = MessageDigest.getInstance("MD5"); 5 msgDitest.update(content.getBytes()); 6 byte[] digests = msgDitest.digest(); 7 //将每个字节转为16进制 8 for (int i=0;i<digests.length;i++){ 9 // TODO: 2019