【转】Android加密算法:AES、Base64加密算法

http://blog.csdn.net/yuxlong2010/article/details/7892146

  有些场合下,例如在要实现自动登录时本地存储用户的帐号和密码,不能用明码来标识。这时候就首先需要对这些关键信息进行加密。对信息进行加密有许多种,下面将详细介绍BASE 64编码的实现,以及自定义BASE 64编码表以提升解密难度。

        BASE 64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。在标准BASE 64编码表中,最后转化的4个6位字节都可以用ASCII明码显示出来。以字符串“张3”为例:

        字符串:张3 
        原byte数组:11010101 11000101 00110011  
        编码后的byte数组:00110101 00011100 00010100 00110011
        对应十进制数值:53 34 20 51
        标准编码表对应字符:1 i U z

        可以这么考虑:把字符串的原始字节数组连成一串,然后顺序依次选6个出来,之后再把这6二进制数前面再添加两个0,就成了一个新的字节。之后再选出6个来,再添加0,依此类推,直到24个二进制数全部被选完,就得到了编码后的字节数组。

http://www.devdiv.com/forum.php?mod=viewthread&tid=131462

原文地址:https://www.cnblogs.com/ct732003684/p/2957453.html