60分钟搞定JAVA加解密
从摩尔电码到小伙伴之间老师来了的暗号,加密信息无处不在.从军事到生活,加密信息的必要性也不言而喻.
今天,我们就来看看java怎么对数据进行加解密
分类
a.古典密码 -- 受限制算法:算法的保密性给予保持算法的秘密,通常用于军事领域
现代秘密 – 基于秘钥算法:算法的保密行基于对秘钥的保密(保证漏洞及时修正,以防算法发明者做过度操作)
b.对称密码:加密秘钥和解密秘钥相同
非对称密码:加密秘钥为公钥,解密秘钥为私钥
c.散列函数:用于验证数据完整性 消息摘要算法 MD5 SHA 安全散列算法 MAC消息认证码算法
长度不受限制
哈希值容易计算
散列运算过程不可逆(单向函数)
d.分组密码:加密时将名为分成固定长度的组,用统一秘钥和算法对每一块加密,输出也是固定长度的密文。多用于网络加密
e.流密码:序列密码 每次加载一个序列或一个字节
数字签名:主要是针对以数字的形式存储的消息进行的处理
OSI安全体系 – TCP/IP安全体系
Java安全组成
JCA – Java Cryptography Architecture
JCE – Java Cryptography Extension
DES AES RSA
JSSE – Java Secure Socket Extension
SSL:网络传输 保证在网络传输数据不被获取
JAAC – Java Authentication and Authentication service
相关java包和类
java.secutity :提供了对第三方包的扩展用法,只能用于实现消息摘要算法
javax.crypto : 安全消息照耀,消息认证码
java.net.ssl : 安全套接字(网络加解密)
第三方扩展
Bouncy Castle
配置或者调用
和表单验证第三方库名称冲突导致秘钥无效
Commons Codec:Apache
-Base64 二进制 十六进制 字符集编码
-url编码、解码
一般来说JDK是对加密算法的实现, Bouncy Castle做一些补充的操作, Commons Codec对JDK进行优化
JAVA加解密案例源码地址:http://download.csdn.net/detail/jacxuan/9774737
60分钟搞定JAVA加解密的更多相关文章
- 一分钟搞定Java高频面试题
一分钟搞定Java高频面试题 一.变量赋值和计算 题目: public static void main(String[] args) { int i = 1; i = i++; int j = i+ ...
- 10分钟搞定 Java 并发队列好吗?好的
| 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it ...
- Spring Boot 返回 XML 数据,一分钟搞定!
Spring Boot 返回 XML 数据,前提必须已经搭建了 Spring Boot 项目,所以这一块代码就不贴了,可以点击查看之前分享的 Spring Boot 返回 JSON 数据,一分钟搞定! ...
- JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)
前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...
- 4.Java 加解密技术系列之 HMAC
Java 加解密技术系列之 HMAC 序 背景 正文 代码 结束语 序 上一篇文章中简单的介绍了第二种单向加密算法 — —SHA,同时也给出了 SHA-1 的 Java 代码.有这方面需求的童鞋可以去 ...
- 1.Java 加解密技术系列之 BASE64
Java 加解密技术系列之 BASE64 序号 背景 正文 总结 序 这段时间,工作中 用到了 Java 的加解密技术,本着学习的态度,打算从这篇文章开始,详细的研究一番 Java 在加解密技术上有什 ...
- 五分钟搞定Go.js
五分钟搞定Go.js 1.基于html5~因为Go.js是一个依赖于HTML5特性的JavaScript库,所以需要确保您的页面声明它是一个HTML5文档,当然需要加载库 <!DOCTYPE ...
- zookeeper-架构设计与角色分工-《每日五分钟搞定大数据》
本篇文章阅读时间5分钟左右 点击看<每日五分钟搞定大数据>完整思维导图 zookeeper作为一个分布式协调系统,很多组件都会依赖它,那么此时它的可用性就非常重要了,那么保证可用性的同 ...
- HDFS-异常大全-《每日五分钟搞定大数据》
点击看<每日五分钟搞定大数据>完整思维导图以及所有文章目录 问题1:Decomminssioning退役datanode(即删除节点) 1.配置exclude: <name>d ...
随机推荐
- Spring容器整合WebSocket
原链接:http://blog.csdn.net/canot/article/details/52575054 WebSocker是一个保持web客户端与服务器长链接的技术.这样在两者通信过程中如果服 ...
- 解决xshell 、SecureCRT中文乱码
一.解决xshell 中文乱码 在xshell命令行里面 输入: locale输出: LANG=zh_CN.UTF-8LC_CTYPE="zh_CN.UTF-8"LC_NUMERI ...
- JavaScript的字符串详解
#转载请留言联系 字符串合并 + var str1="chi"; var str2="chung"; console.log(str1+str2) 输出:chi ...
- redis使用中的常见错误
1.2016年12月17日 启动redis报错,错误信息如下: 解决办法:redis没有正常关闭(redis安装在虚拟机上,直接杀死了虚拟机进程) 导致redis.pid文件一直被锁定,重启redi ...
- Laravel跳转回之前页面,并携带错误信息
用Laravel5.1开发项目的时候,经常碰到需要携带错误信息到上一个页面,开发web后台的时候尤其强烈. 直接上: 方法一:跳转到指定路由,并携带错误信息 return redirect('/adm ...
- POJ 1970 The Game (DFS)
题目链接:http://poj.org/problem?id=1970 题意: 有一个19 × 19 的五子棋棋盘,其中“0”代表未放入棋子,“1”代表黑色棋子,”2“代表白色棋子,如果某方的棋子在横 ...
- Manacher【p1210】回文检测
题目描述--->P1210 回文检测 分析: 看到回文显然想到了manacher算法(线性求解回文串问题 如果不了解还是去敲一下板子,学习一下比较好.-->manacher 题目要求我们求 ...
- SQL Loader with utf8
alter this line in your control file characterset UTF8 to this characterset UTF8 length semantics ch ...
- [BZOJ 4144] Petrol
Link: BZOJ 4144 传送门 Solution: 一道不错的图论综合题 因为只询问关键点,因此重点是要求出关键点之间的最短路,以最短路建图 记$nst[i]$为离$i$最近的关键点:可以发现 ...
- [BZOJ 2395] Time is money
Link: BZOJ 2395 传送门 Solution: 算是一类比较经典的模型: 即对于一类经典问题,每点由1个权值化为2个权值,最终求$sigma(val_1)*sigma(val_2)$ 对于 ...