Java使用PBE算法进行对称加解密最简入门和示例
PBE 算法
PBE( Password Based Encryption, 基于口密加密)。PBE是一种基于口令的加密算法, 采用随机数杂凑(盐)多重加密方法保证数据安全性。
PBE算法并没有真正构建新的算法, 而是对现有对称加密算法(比如DES)进行了包装。
因为密钥很长,一般 由算法产生, 比如DES密钥长度56; 口令一般比较短, 可以容易记住, 也就是我们平时所说的密码。口令很容易通过穷举攻击被破译, 所以就引入了“盐”。
盐本身是一个随机信息, 相同的随机信息不可能使用两次, 将盐加载口令上, 通过消息摘要算法迭代计算构建密钥, 破译就比较难了。
Java 对PBE算法的实现
JDK本身提供了对PBE算法的实现,不需要导入其他的第三方库。 Java中的PBE算法是对各种消息摘要算法(比如MD5,SHA)和对称加密算法(比如DES,RC2)的组合。 比如 PBEWithMD5AndDES算法。
PBEWithMD5AndDES的密钥长度是56 , 是组合了MD5和DES算法。
示例代码
本篇示例环境:
- JDK1.8
- Eclipse IDE
因为示例需要使用Base64对字节数组和字符串进行转换,所以需要导入Base64的包,这个包在本地JRE的lib 目录下, 导入方式如下图:
Java使用PBE算法进行对称加解密最简入门和示例相关推荐
- [crypto]-02-非对称加解密RSA原理概念详解
说明:本文使用的数据来自网络,重复的太多了,也不知道哪篇是原创. 算法原理介绍 step 说明 描述 备注 1 找出质数 P .Q - 2 计算公共模数 N = P * Q - 3 欧拉函数 φ(N) ...
- rsa java代码_java加解密RSA使用方法代码示例
最近为了分析一段请求流,不得不去研究一下RSA加密. 首先,强调一点:密钥的"钥"读"yue",不是"yao",额... 网上关于RSA的原 ...
- java aes ebc_Delphi XE2+标准AES加解密算法(AES/EBC,CBC/PKCS5Padding-base64)
[实例简介] 实现了AES/ECB/PKCS5Padding.AES/CBC/PKCS5Padding 密钥长度128/192/256bit,密钥0填充.是标准的AES算法,支持在线AES加解密网站互 ...
- java C# objective-c AES对称加解密
1 /** 2 * AES加解密 3 */ 4 public class AESHelper { 5 final static String AES_KEY = "43hr8fhu34b58 ...
- android byte转string_高性能AES256对称加解密,兼容Java、IOS、Android
最近在设计一个给IOS和Android提供接口的项目框架,在接口安全上准备使用常规的加密技术,确保在非法访问接口的情况下拿到的数据一时半会也没用. 查了相关的资料,用的最多的几种加密算法,DES.AE ...
- 某付宝APP之某加油小程序对称加解密算法解析
前言 前几天发了一个某付宝小程序的sign参数md5加密拿到明文参数的帖子- 又发现一个别的小程序,好像是用的对称加密,耐不住好奇心,就试了试-结果成功实现了加解密的操作.遂发帖记录一下. 工具 fi ...
- JAVA建行银企直连报文加解密
接上一篇密钥交换之后获得银行提供的:银行RSA签名公钥RSA.bank.public.key,接受报文验签使用:银行DES加密私钥DES.bank.private.key,加密报文使用.还有之前自己生 ...
- java生成sm4算法的对称密钥_技术分享丨这是一篇简单的小科普——什么是对称加密算法?(下)...
原标题:技术分享丨这是一篇简单的小科普--什么是对称加密算法?(下) 大家好~我是贾正经,又到了干货满满的技术分享趴啦~ 上期我们讲解了对称加密算法的小知识,并介绍了国密算法中SM4算法的原理. 本期 ...
- java aes ctr_AES CBC和CTR加解密实例
http://www.metsky.com/archives/585.html 2012 AES(Advanced Encryption Standard,高级加密标准) 又叫Rijndael加密法, ...
最新文章
- 跨域post请求实现方案小结--转
- 推荐5款学Java开发的必备工具
- 推荐 10 本好书,并送上 110 本!
- span里面插入文字
- spring和spring_Spring WebApplicationInitializer和ApplicationContextInitializer的混淆
- 移动Web开发基础概念
- 项目功能大全,让你的项目一天搞定
- disable_irq/enable_irq使用不匹配
- ASUS AURA无法启动问题
- JS实现轮播图(一看就懂逻辑清晰)
- cvc 降噪_此降噪非彼降噪,你要的是哪种降噪?
- pyqgis iface AttributeError: ‘NoneType‘ object has no attribute ‘mapCanvas‘
- iOS手机自带浏览器Safari无法长按保存图片
- alter table新增字段操作究竟有何影响?(上篇)
- Spring大白话(●—●)
- 计算机论文致谢词范文500字,论文致谢词范文500字(精选5篇)
- matplotlib设置坐标轴颜色及画布背景色
- android url inputstream,Android HttpUrlConnection getInputStream引发NullPoint...
- 蓝牙BQB证后还会被查的3种情况,蓝牙组织审查
- 天龙八部网单服务器修改物品,如何用金山游侠V修改单机版天龙八部里面的物品啊?...