java加解密
2016-07-06 15:31
190 查看
【最简单的加密】
1.简单的概念
明文:加密前的信息
密文:机密后的信息
算法:加密或解密的算法
密钥:算法使用的钥匙(读作miyao,正确应该是miyue,但是大家都读miyao)
2.简单的例子
将123456每位数字都加1后得到234567,
其中123456就是明文,234567就是密文,加密密钥就是1,加密算法是每位加
3.对称加密和非对称加密
以上为例,
123456-->234567的加密密钥就是1,加密算法是每位+
234567-->123456的解密密钥也是1,解密算法是每位-
其中加密算法(+)和解密算法(-)相对称,这种加密算法就称作对称加密,
同样,如果加密算法和解密算法不对称就称之为非对称加密。
4.算法举例
对称加密算法:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法,AES算法。
非对称加密算法:RSA、Elgamal、背包算法、Rabin、D-H、ECC。
经典的哈希算法:MD2、MD4、MD5 和 SHA-1(目的是将任意长输入通过算法变为固定长输出,且保证输入变化一点输出都不同,且不能反向解密)
5.经典的算法
AES(对称),RSA(非对称),MD5,SHA-1(哈希)
【算法举例】
1.base64
不是加密算法,是一种编码方式,由于加密后都是byte[],为了可读性,一般将byte[]转为base64编码
例子:Java 加密 base64 encode
2.md5
也不是算法,是消息摘要算法第五版,是一种哈希算法,一般用于单向加密
例子:Java 加密 MD5
3.AES
对称加密算法,DES的取代者
例子:Java 加密 AES 对称加密算法
1.简单的概念
明文:加密前的信息
密文:机密后的信息
算法:加密或解密的算法
密钥:算法使用的钥匙(读作miyao,正确应该是miyue,但是大家都读miyao)
2.简单的例子
将123456每位数字都加1后得到234567,
其中123456就是明文,234567就是密文,加密密钥就是1,加密算法是每位加
3.对称加密和非对称加密
以上为例,
123456-->234567的加密密钥就是1,加密算法是每位+
234567-->123456的解密密钥也是1,解密算法是每位-
其中加密算法(+)和解密算法(-)相对称,这种加密算法就称作对称加密,
同样,如果加密算法和解密算法不对称就称之为非对称加密。
4.算法举例
对称加密算法:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法,AES算法。
非对称加密算法:RSA、Elgamal、背包算法、Rabin、D-H、ECC。
经典的哈希算法:MD2、MD4、MD5 和 SHA-1(目的是将任意长输入通过算法变为固定长输出,且保证输入变化一点输出都不同,且不能反向解密)
5.经典的算法
AES(对称),RSA(非对称),MD5,SHA-1(哈希)
【算法举例】
1.base64
不是加密算法,是一种编码方式,由于加密后都是byte[],为了可读性,一般将byte[]转为base64编码
例子:Java 加密 base64 encode
2.md5
也不是算法,是消息摘要算法第五版,是一种哈希算法,一般用于单向加密
例子:Java 加密 MD5
3.AES
对称加密算法,DES的取代者
例子:Java 加密 AES 对称加密算法
相关文章推荐
- SpringMVC 数据校验
- 理解Java对象序列化
- java通过二分法对数组进行高效查找及插入操作
- 0004-java对象的序列化和反序列化
- Java设计模式之工厂方法模式
- Java实现插入排序算法
- java链表之--java双向链表的增删改查
- JAVA字符串格式化-String.format()的使用
- 跟我学Dubbo系列之Java SPI机制简介
- 华为机试---迷宫问题
- Quartz集成springMVC 的方案二(持久化任务、集群和分布式)
- 【转】Java常见内存溢出异常分析
- 一段JAVA线程池的设置引发的血案
- Java中间件
- 使用Eclipse MAT查找内存泄漏工具介绍
- java 线程的几种状态
- 多线程设计模式——Two-phase Termination(两阶段终止)模式
- Struts2的Action访问Servlet API的方式
- 【转】Java Executor框架在多线程应用中的使用
- 基于Spring_Batch大数据并行处理文章分享--建议大家多看看