版权声明:本文为博主原创文章,未经博主允许不得转载。

【前言】

本文简单的介绍了加密技术相关概念,最后总结了java中现有的加密技术以及使用方法和例子

【最简单的加密】

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 对称加密算法

4.RSA

待更新

Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA的更多相关文章

  1. password学4——Java 加密解密之消息摘要算法(MD5 SHA MAC)

    Java 加密解密之消息摘要算法(MD5 SHA MAC) 消息摘要 消息摘要(Message Digest)又称为数字摘要(Digital Digest). 它是一个唯一相应一个消息或文本的固定长度 ...

  2. Mac和 iOS 下的对称和非对称加密算法的使用

    分享在Mac 和 iOS 上使用到的对称和非对称加密算法. 包括RSA,DSA, AES, DES, 3DES 和 blowfish 等等.因为要实现ssh协议, 所以用到了这些算法, 这些算法在ma ...

  3. Java加密解密大全

    ChinaSEI系列讲义(By 郭克华)   Java加密解密方法大全                     如果有文字等小错,请多包涵.在不盈利的情况下,欢迎免费传播. 版权所有.郭克华 本讲义经 ...

  4. ◆JAVA加密解密-3DES

    从数据安全谈起       当你使用网银时,是否担心你的银行卡会被盗用?     当你和朋友用QQ进行聊天时,是否担心你的隐私会被泄露?     作为开发者,编写安全的代码比编写优雅的代码更重要,因为 ...

  5. java加密解密的学习

    注:此文章只是对如何学习java加密解密技术做一个讲解.并不涉及具体的知识介绍,如果有需要请留言,有时间我补冲长.个人觉着学习一个学习方法比学习一个知识点更有价值的多. 首先,对于加密解密知识体系没有 ...

  6. php中des加密解密 匹配C#des加密解密 对称加密

    原文:php中des加密解密 匹配C#des加密解密 对称加密 网上找来的 php des加密解密 完全匹配上一篇C# 字符串加密解密函数  可以用于C#和php通信 对数据进行加密,其中$key 是 ...

  7. Java加密解密字符串

    http://www.cnblogs.com/vwpolo/archive/2012/07/18/2597232.html Java加密解密字符串   旧文重发:http://www.blogjava ...

  8. java加密解密

    java加密解密 public class MD5Util { /** * @param args */ public static void main(String[] args) { System ...

  9. java加密解密算法位运算

    一.实例说明 本实例通过位运算的异或运算符 “ ^ ” 把字符串与一个指定的值进行异或运算,从而改变每个字符串中字符的值,这样就可以得到一个加密后的字符串.当把加密后的字符串作为程序输入内容,异或运算 ...

随机推荐

  1. cs ip 通过jmp转移命令间接赋值。无法直接对其赋值。

    jmp 寄存器 命令 对IP间接赋值.

  2. Delphi实现多个图像相互覆盖时无内容处点击穿透

    http://www.52delphi.com/list.asp?ID=1405 CM_HITTEST是Delphi自定义的控件消息

  3. oracle的一种字符串处理机制。

    orcale会把空字符串当成Null进行存储,sqlserver直接存储空字符串

  4. 如何从Win7中提取制作Windows PE3.0

    在D盘新建文件夹winpe,在winpe中新建sources.pe3和new文件夹,把附件中提供的工具imagex连文件夹一起放到winpe目录中. 制作方法: 1.把windows7光盘(或光盘镜像 ...

  5. java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.

    最近在学习RxJava 感觉很happy ,happy的同时遇到不少问题 没办法一点一点来 上张帅图先 在使用RxJava + Retrofit 的时候 有时候接口请求参数不规范 比如 {} @For ...

  6. [转]ASP.NET MVC 入门3、Routing

    在一个route中,通过在大括号中放一个占位符来定义( { and } ).当解析URL的时候,符号"/"和"."被作为一个定义符来解析,而定义符之间的值则匹配 ...

  7. 对 Linux 专家非常有用的 20 个命令

    原文链接:http://www.oschina.net/translate/20-advanced-commands-for-linux-experts?from=20130811 对中级 Linux ...

  8. [POJ3684]Physics Experiment

      Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1363   Accepted: 476   Special Judge ...

  9. mysql 5.5 中的示例数据库 employees

    http://dev.mysql.com/doc/employee/en/employees-installation.html

  10. kernel网址

    http://www.kernel.org HTTP https://www.kernel.org/pub/ FTP ftp://ftp.kernel.org/pub/ http://www.oldl ...