本文主要是介绍PBE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
PBE(Password Based Encryption,基于口令加密)是一种基于口令的加密算法,其特点是使用口令代替了密钥,而口令由用户自己掌管,采用随机数杂凑多重加密等方法保证数据的安全性。PBE算法在加密过程中并不是直接使用口令来加密,而是加密的密钥由口令生成,这个功能由PBE算法中的KDF函数完成。KDF函数的实现过程为:将用户输入的口令首先通过“盐”(salt)的扰乱产生准密钥,再将准密钥经过散列函数多次迭代后生成最终加密密钥,密钥生成后,PBE算法再选用对称加密算法对数据进行加密,可以选择DES、3DES、RC5等对称加密算法.
public final byte[] doFinal(byte[] input) 按单部分操作加密或解密数据,或者结束一个多部分操作。数据将被加密或解密(具体取决于此 Cipher 的初始化方式)。
Base64是一种很常见的编码规范,其作用是将二进制序列转换为人类可读的ASCII字符序列,常用在需用通过文本协议(比如HTTP和SMTP)来传输二进制数据的情况下。Base64并不是一种用于安全领域的加密解密算法(这类算法有DES等),尽管我们有时也听到使用Base64来加密解密的说法,但这里所说的加密与解密实际是指编码(encode)和解码(decode)的过程,其变换是非常简单的,仅仅能够避免信息被直接识别.
Java code
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
publicclass Test {
publicstaticvoid main(String args[]) throwsIOException {
BASE64Encoder encode = new BASE64Encoder();
String base64 = encode.encode("五笔字型电子计算机".getBytes());
System.out.println(base64);
BASE64Decoder decode = new BASE64Decoder();
byte[] b = decode.decodeBuffer(base64);
System.out.println(new String(b));
}
}
输出:
zuWxytfW0M2159fTvMbL47v6
五笔字型电子计算机
类库的基础,其中的实现大多数与底层平台有关,一般来说是不推荐使用的。
Base64 主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。
由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下就可以
这篇关于PBE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!