标签:
1 import sun.misc.BASE64Decoder; 2 import sun.misc.BASE64Encoder; 3 4 public class Base64Demo { 5 public static void main(String[] args) { 6 byte[] data = "yanglingzhi".getBytes(); 7 String result = new BASE64Encoder().encode(data); 8 System.out.println(result); 9 //String result2 = new BASE64Decoder().decodeBuffer(data); 10 } 11 12 }
当我没有导入正确的包之前,我以为要下载一个jar包,于是下载了Jar包然后导入,但是导入之后发现还是不能找到这个类。查资料之后,是因为BASE64加密算法需要java自带的jar包,要自己导入。导入方法如下:
右击项目,properties->
双击Access rules点击add在输入框中输入** 俩个星号 然后Revolution选择Accessible。一路OK。
然后就可以导入相应的包了。
补充:密码学综述:
密码学分类:
(1)消息编码:Base64
(2)消息摘要:MD类 SHA类 MAC
(3)对称密码:DES 3DES AES
(4)非对称密码:RSA DH密钥交换
数字签名:RSASignature DSASignatrue
密码学五元组:
明文,密文,加密算法,解密算法,密钥
关于对称密码和非对称密码:
对称密码是指加解密使用相同的密码体制
非对称密码是指加解密使用不同的密钥--公钥与私钥
公钥是基于数学函数的变换,而不是简单的代替和置换,这个在第一次使用Github的时候遇到过,配置SSHkeys的时候要在指定区域粘贴一个公钥。
java中常用的类:
(1)消息编码:BASE64Encoder(加密类) BASE64Decoder(解密类)
(2)消息摘要: MessageDigest
(3)对称密码:KeyGenerator(密钥生成器) SecretKey Cipher
(4)非对称密码:KeyPairGenertor KeyFactory PublicKey PrivateKey Cipher
(5)数字签名:Signature
Base64算法定义:
Base64是一种基于64个字符的编码算法,以任意8位字节序列组合的描述形式,这种形式不易直接识别。经Base64编码后的字符书是以4为单位的整数倍。
未完。
标签:
原文地址:http://www.cnblogs.com/sakuraYLZ/p/5729738.html