PBE

2024-04-28 01:08
文章标签 pbe

本文主要是介绍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
五笔字型电子计算机

JRE 中 sun 和com.sun 开头包的类都是未被文档化的,他们属于 java, javax
类库的基础,其中的实现大多数与底层平台有关,一般来说是不推荐使用的。

Base64 主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。
由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下就可以



这篇关于PBE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941973

相关文章

对称加密算法之基于口令加密——PBE

PBE算法 1. 算法简述2.模型分析3. 代码实现3.1 算法实现3.2 测试代码3.3 运行结果 1. 算法简述 PBE(Password Based Encryption, 基于口令加密)算法是一种基于口令的加密算法。 PBE算法综合了多种对称加密和消息摘要算法的优势,形成了对称加密算法的一个特例。 PBE特点在于口令由用户掌管,采用随机数(也叫盐Salt)杂凑多重加

加密与安全_探索口令加密算法(PBE)

文章目录 概述疑问PBE 算法 ( Password Based Encryption)CodePOM实现 小结 概述 加密与安全_探索对称加密算法中我们提到AES加密密钥长度是固定的128/192/256位,而不是我们用WinZip/WinRAR那样,随便输入几位都可以。 这是因为对称加密算法决定了口令必须是固定长度,然后对明文进行分块加密。又因为安全需求,口令长度

基于口令的密码(PBE)

基于口令的密码(PBE) 基于口令的密码(Password Based Encryption,PBE)是一种基于口令生成密钥,并使用该密钥进行加密的方法。其中加密和解密使用的是同一个密钥。 根据用户自己的口令和salt生成口令密码,我们先看下加密的过程: 加密的过程可以分为这几步: 生成KEK密钥 使用伪随机数生成器来生成salt将salt和用户自己的口令使用单向散列函数算法生成KE