从摩尔电码到小伙伴之间老师来了的暗号,加密信息无处不在.从军事到生活,加密信息的必要性也不言而喻.
今天,我们就来看看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加解密的更多相关文章

  1. 一分钟搞定Java高频面试题

    一分钟搞定Java高频面试题 一.变量赋值和计算 题目: public static void main(String[] args) { int i = 1; i = i++; int j = i+ ...

  2. 10分钟搞定 Java 并发队列好吗?好的

    | 好看请赞,养成习惯 你有一个思想,我有一个思想,我们交换后,一个人就有两个思想 If you can NOT explain it simply, you do NOT understand it ...

  3. Spring Boot 返回 XML 数据,一分钟搞定!

    Spring Boot 返回 XML 数据,前提必须已经搭建了 Spring Boot 项目,所以这一块代码就不贴了,可以点击查看之前分享的 Spring Boot 返回 JSON 数据,一分钟搞定! ...

  4. JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)

    前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...

  5. 4.Java 加解密技术系列之 HMAC

    Java 加解密技术系列之 HMAC 序 背景 正文 代码 结束语 序 上一篇文章中简单的介绍了第二种单向加密算法 — —SHA,同时也给出了 SHA-1 的 Java 代码.有这方面需求的童鞋可以去 ...

  6. 1.Java 加解密技术系列之 BASE64

    Java 加解密技术系列之 BASE64 序号 背景 正文 总结 序 这段时间,工作中 用到了 Java 的加解密技术,本着学习的态度,打算从这篇文章开始,详细的研究一番 Java 在加解密技术上有什 ...

  7. 五分钟搞定Go.js

    五分钟搞定Go.js  1.基于html5~因为Go.js是一个依赖于HTML5特性的JavaScript库,所以需要确保您的页面声明它是一个HTML5文档,当然需要加载库 <!DOCTYPE ...

  8. zookeeper-架构设计与角色分工-《每日五分钟搞定大数据》

    本篇文章阅读时间5分钟左右 点击看<每日五分钟搞定大数据>完整思维导图   zookeeper作为一个分布式协调系统,很多组件都会依赖它,那么此时它的可用性就非常重要了,那么保证可用性的同 ...

  9. HDFS-异常大全-《每日五分钟搞定大数据》

    点击看<每日五分钟搞定大数据>完整思维导图以及所有文章目录 问题1:Decomminssioning退役datanode(即删除节点) 1.配置exclude: <name>d ...

随机推荐

  1. [ Openstack ] Openstack-Mitaka 高可用之 Dashboard

    目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...

  2. 【SQL】多个表的查询

    1.元组变量 SELECT * FROM a AS x, a AS y; 结果是显示自己和自己的笛卡尔乘积. 如果查询中对于某一个关系使用了多次,为了区别他们的属性,需要对关系定义别名,然后用 别名. ...

  3. POJ 2255 Tree Recovery && Ulm Local 1997 Tree Recovery (二叉树的前中后序遍历)

    链接:poj.org/problem?id=2255 本文链接:http://www.cnblogs.com/Ash-ly/p/5463375.html 题意: 分别给你一个二叉树的前序遍历序列和中序 ...

  4. 算法-基数排序(radix sort)

    本文由@呆代待殆原创,转载请注明出处. 简介:这个排序是原来用在卡片排序机上的一个算法,一般用来比较具有多对关键字域的记录,如日期(年月日),通过基数排序我们会依次对年月日这三个关键字进行排序,只要对 ...

  5. Servlet 3.1 规范

    在线版目录 Servlet3.1规范翻译——前言 Servlet3.1规范翻译——概览 Servlet3.1规范翻译——Servlet Context Servlet3.1规范翻译——Response ...

  6. [九省联考2018]林克卡特树(DP+wqs二分)

    对于k=0和k=1的点,可以直接求树的直径. 然后对于60分,有一个重要的转化:就是求在树中找出k+1条点不相交的链后的最大连续边权和. 这个DP就好.$O(nk^2)$ 然后我们完全不可以想到,将b ...

  7. 【记忆化搜索】bzoj1048 [HAOI2007]分割矩阵

    标准差=√(Σ(xi-xba)2/n)=Σ(xi)2+xba*n-2*xba*sum.只需最小化每个分割出来的矩阵的平方和即可. #include<cstdio> #include< ...

  8. 【并查集】bzoj1015 [JSOI2008]星球大战starwar

    倒着处理删点,就变成了加点,于是并查集. #include<cstdio> using namespace std; #define N 400001 int fa[N],kill[N], ...

  9. openresty总结

    协程 1.例如当获取的数据没有前后依赖关系时,可以使用ngx.thread.spawn和ngx.thread.wait同时从数据库不同的库.表或者不同来源(mysql,redis等)获取数据. htt ...

  10. Exercise02_15

    import javax.swing.JOptionPane; public class Distance { public static void main(String[] args){ Stri ...