【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