您的位置:首页 > 其它

PBE加密算法

2020-12-01 16:38 393 查看

1、PBE简介

PBE算法,全称password based encrytpion,基于口令的 加密,该算法不是新的算法,是融合算法;主要步骤如下:

首先用户输入口令,然后根据salt,采用信息摘要算法(MD5、SHA-256等)计算一个固定长度的摘要出来;

将该固定长度的摘要转换为对称加密算法(DES、AES) 要求长度的密钥key;

使用key并采用对称加密算法对数据进行加密。

PBE没有密钥的概念,PBE使用口令替代了密钥。PBE 算法是信息 摘要算法和对称加密算法的融合,比如 PBEWithMD5AndDES是 MD5和DES的结合,类似的也可以反 推。

2、口令和密钥的区别

口令:一般与用户名对应,是某个用户自己编织的便于 记忆的一串单词、数字、汉字字符,口令的特点容易被记忆, 也容易泄露和被盗取,容易被社会工程学、暴力破解、撞库等 方式获取。

密钥:是经过加密算法计算出来的,密钥一般不容易记 忆,不容易被破解,而且很多时候密钥是作为算法的参数出现 的,算法对于密钥长度也是有要求的,因为加密算法的作用就 是利用密钥来扰乱明文顺序;

NOTE:口令不能代替密钥,但是可以用信息摘要算法 将口令转换为密钥;

3、eclipse中讲解PBE算法的java代码实现

1)在Mainactivity中分析代码:

initSalt、encrypt、decrypt是在PBE类中定义的方法, 这几个方法也是在Mainactivity中主要用到的;

2)分析PBE类

SecureRandom:实例化安全随机数

generateSeed: 返回给定的种子字节数量,该数量可使用 此类将自身设置为种子的生成算法来计算

PBEKeySpec:密钥材料转换

generateSecret:生成密钥

小结

1、介绍PBE系列相关的算法以及实现原理。
2、在eclipse中分析了PBE算法的代码。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: