PBE加密算法
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算法的代码。
- PBE实现加密算法
- Java加密算法 PBE
- 非对称加密算法-DH算法
- java的md5的加密算法代码
- 记一款宽带拨号器加密算法逆向实例
- 椭圆曲线ECC加密算法入门介绍
- 3DES 加密算法
- 几种JAVA加密算法
- VB.NET中的安全加密算法
- Java 上加密算法的实现用例
- 在 Java 中使用 AES 加密算法 .
- BASE64 加密算法、原理 各种语言实现算法
- md5不是加密算法,而是散列算法
- 几种常见加密算法初窥及如何选用加密算法 IOS
- 混合加密算法(RSA和DES)
- 3个著名加密算法(MD5、RSA、DES)的解析
- 几种JAVA加密算法
- AES-ECB-128加密算法
- 加密算法
- 介绍如何通过加密算法实现数据的完整性、机密性及身份验证