Java 加解密技术系列之 总结

  • 背景
  • 分类
  • 常用算法
  • 原理
  • 关于代码
  • 结束语

上一篇文章中简单的介绍了第二种非对称加密算法 — — DH,这种算法也经常被叫做密钥交换协议,它主要是针对密钥的保护。同时,由于水平的限制,打算这个系列就到此为止了,这篇文章就算是一个总结吧,回顾一下这几个月来都写了些什么。

背景


实,在开始写这个系列之前,我对于 Java
的加解密也并不是那么了解。之所以要写这些文章,还主要是由于工作的原因。记得几个月以前,当时项目要做一个数字证书,证书的生成、存储、传输等过程都是
需要加密的,那时,我对于加解密这块还不是那么了解,就索性恶补了一段时间,简单的研究了一下。后来,工作上的任务都完成之后,就考虑反正加解密这一块在
工作中使用挺频繁的,还不如分享出来,一块学习呢。

分类

      常用算法
      原理
写了这么多的加解密算法,其实,本质上他们的原理是一样的。刚开始写前几篇的时候,还没有发现,可越到后边,这种感觉也就特别明显,仔细一想还真是,看来我的反应有点迟钝啊。

谓的加密,说通俗一点,就是把原来的数据,改变输出的形式,让人眼不能一眼就分辨出来,从而保护数据的真实性。那么对于计算机来说,计算机只认识 0 和
1 。不管什么形式的数据,对于计算机来说都是一样的,都是很多的 0 和 1 的组合。0 和 1
虽然一样,但不同的组合(或者说排列)就会产生不同的结果,而加密的目的,就是让它产生不同的结果,以便其他的人或计算机不能正确的识别,这样才能保证数
据不被泄漏或篡改。
不同的加密算法,其原理是共通的,只不过,对于加密的复杂程度是不同的。而且,很多加密算法都是基于另一种加密算法的基础之上实现的。说到底,就是用一定的方法,按照一定的规律,使用其他的字符(包括一些特殊字符)替换正常的字符,使之改变正常的表现形式。

关于代码

在分享每一个算法的时候,一般都会贴上 Java 的实现代码,这些代码中,有的是我自己写的,有的是参考了一些大牛的,自己实现了之后,才贴到博文中,主要是方便其他童鞋学习和理解。当然,这些代码中,我这里都有工程,如果有哪位小伙伴需要的话,可以私信我。当然,代码写的并不怎么好,还有很多需要改善的地方,希望路过的大神多多批评指正。

结束语

这个加解密系列维持了这么长的时间,实非我愿,不过,话说回来,通过这段时间的研究,对于加密这一块,我学到了很多,同时,也解决了很多问题。之前觉得很枯燥的,看不懂的东东,现在已经很清楚明了了。希望这些东东能够对小伙伴们有一些帮助。
最后说一句,再见了,Encrypt And Decrypt!

11.Java 加解密技术系列之 总结的更多相关文章

  1. 3.Java 加解密技术系列之 SHA

    Java 加解密技术系列之 SHA 序 背景 正文 SHA-1 与 MD5 的比较 代码实现 结束语 序 上一篇文章中介绍了基本的单向加密算法 — — MD5,也大致的说了说它实现的原理.这篇文章继续 ...

  2. 2.Java 加解密技术系列之 MD5

    Java 加解密技术系列之 MD5 序 背景 正文 结束语 序 上一篇文章中,介绍了最基础的编码方式 — — BASE64,也简单的提了一下编码的原理.这篇文章继续加解密的系列,当然也是介绍比较基础的 ...

  3. Java 加解密技术系列文章

    Java 加解密技术系列之 总结 Java 加解密技术系列之 DH Java 加解密技术系列之 RSA Java 加解密技术系列之 PBE Java 加解密技术系列之 AES Java 加解密技术系列 ...

  4. 10.Java 加解密技术系列之 DH

    Java 加解密技术系列之 DH 序 概念 原理 代码实现 结果 结束语 序 上一篇文章中简单的介绍了一种非对称加密算法 — — RSA,今天这篇文章,继续介绍另一种非对称加密算法 — — DH.当然 ...

  5. 9.Java 加解密技术系列之 RSA

    Java 加解密技术系列之 RSA 序 概念 工作流程 RSA 代码实现 加解密结果 结束语 序 距 离上一次写博客感觉已经很长时间了,先吐槽一下,这个月以来,公司一直在加班,又是发版.上线,又是新项 ...

  6. 8.Java 加解密技术系列之 PBE

    Java 加解密技术系列之 PBE 序 概念 原理 代码实现 结束语 序 前 边的几篇文章,已经讲了几个对称加密的算法了,今天这篇文章再介绍最后一种对称加密算法 — — PBE,这种加密算法,对我的认 ...

  7. 7.java 加解密技术系列之 AES

    java 加解密技术系列之 AES 序 概念 原理 应用 代码实现 结束语 序 这篇文章继续介绍对称加密算法,至于今天的主角,不用说,也是个厉害的角色 — — AES.AES 的出现,就是为了来替代原 ...

  8. 6. Java 加解密技术系列之 3DES

    Java 加解密技术系列之 3DES 序 背景 概念 原理 代码实现 结束语 序 上一篇文章讲的是对称加密算法 — — DES,这篇文章打算在 DES 的基础上,继续多讲一点,也就是 3 重 DES ...

  9. 5.Java 加解密技术系列之 DES

    Java 加解密技术系列之 DES 序 背景 概念 基本原理 主要流程 分组模式 代码实现 结束语 序 前 几篇文章讲的都是单向加密算法,其中涉及到了 BASE64.MD5.SHA.HMAC 等几个比 ...

随机推荐

  1. 用C#写经理评分系统

    先写需求: 01.显示员工信息      02.实现项目经理给员工评分的功能 第一步:      建立两个类,员工类和项目经理类      定义属性和方法     员工类:工号.年龄.姓名.人气值.项 ...

  2. 监听器的小示例:利用HttpSessionListener和HttpServletContextListener实现定时销毁HttpSession

    1.创建MyServletContextListener实现HttpServletContextListener接口 @Override public void contextDestroyed(Se ...

  3. spring mvc中,直接注入的HttpServletRequst是否安全呢?

    看似很简单的一个问题,借此追踪下spring的源码处理 在写springMVC的Control中有很多这种代码, 如需要获取request对象去做某些事情 如: @Controller @Reques ...

  4. HTTP 协议

    HTTP 协议对应 Web 开发者来说都必须要了解的,无论技术背景或首选编程语言是什么,"请求-响应" 对话是驱动 Web 上通信的基础. HTTP 概述 HTTP 协议是 Hyp ...

  5. 烧录口被初始化为普通IO

    烧录口被初始化为普通IO后如果复位端没有的烧录口会导致不能识别烧录器不能下载与调试,因为程序一开始就把端口初始化了,烧录器不能识别,添加复位端口到烧录器(前提是你的烧录器有复位端). 有了复位段之后, ...

  6. MAC Mysql 重置密码

    使用mac电脑,当mysql登录密码忘记时,需要重置密码.步骤如下: 1. 关闭当前正在运行的mysql进程. A.进入"偏好设置",选择mysql, 再选"stop m ...

  7. 排序算法合集 python

    直接选择.插入排序 直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的 ...

  8. 深入tornado中的ioLoop

    本文所剖析的tornado源码版本为4.4.2 ioloop就是对I/O多路复用的封装,它实现了一个单例,将这个单例保存在IOLoop._instance中 ioloop实现了Reactor模型,将所 ...

  9. NodeJS 中npm包管理工具

    NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从 ...

  10. MySQL常见建表选项以约束

    一.CREATE TABLE 选项 1.在定义列的时候,指定列选项 1)DEFAULT <literal>:定义列的默认值 当插入一个新行到表中并且没有给该列明确赋值时,如果定义了列的默认 ...