【Java/加解密】不算加密的加密-base64加解密(使用Apache的Codec)

Base64算法之所以不算加密,是因为基于Base64算法的消息传递模型中没有密钥的概念,base64字符映射表本身起到了密钥的作用。

但是,正因为密钥即字符映射表,消息传递双方倒还省事了,直接省去了构建密钥、公布密钥的步骤。

对于一些加密级别不高、只不想让人一眼看出原文的场合,Base64算法也还可以的。

程序:

package ufo;

import org.apache.commons.codec.binary.Base64;

public class Base64_Test {
    public static void main(String... args) {
        String original="Let’s Build a Giant Airship 青海长云暗雪山";
        System.out.println("原文=\t"+original);
        
        try {
            // 原文数组
            byte[] byteContent = original.getBytes();
            // 经base64“加密”后的数组
            byte[] EncodeResults=Base64.encodeBase64(byteContent);
            // 供传递的“密文”
            String cipheredTxt=Base64.encodeBase64String(EncodeResults);
            System.out.println("密文=\t"+cipheredTxt);
            
            // 将收到的“密文”用base64“解密”
            byte[] decodeResults=Base64.decodeBase64(EncodeResults);
            // 最终结果
            String finalTxt=new String(decodeResults);
            
            System.out.println("解密后=\t"+finalTxt); 
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

输出:

原文=    Let’s Build a Giant Airship 青海长云暗雪山
密文=    VEdWMG9hOXpJRUoxYVd4a0lHRWdSMmxoYm5RZ1FXbHljMmhwY0NESDRMcWpzNlRVeHJDMTBhbkp2UT09
解密后=    Let’s Build a Giant Airship 青海长云暗雪山

END

posted @ 2021-10-03 13:20  逆火狂飙  阅读(391)  评论(0编辑  收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东