JAVA上加密算法的实现用例笔记

第1章基础知识

1.1. 单钥密码体制

单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密。

通常,使用的加密算法比较简便高效,密钥简短,加解密速度快,破译极其困难。但是加密的安全性依 靠密钥保管的安全性,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题,并且如果在多用 户的情况下密钥的保管安全性也是一个问题。

单钥密码体制的代表是美国的DES

1.2. 消息摘要

一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一 指印(对于SHA1是产生一个20字节的二进制数组)。

消息摘要有两个基本属性:

两个不同的报文难以生成相同的摘要 

难以对指定的摘要生成一个报文,而由该报文反推算出该指定的摘要 

代表:美国国家标准技术研究所的SHA1和麻省理工学院Ronald Rivest提出的MD5

1.3. Diffie-Hellman密钥一致协议

密钥一致协议是由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想。

先决条件,允许两名用户在公开媒体上交换信息以生成"一致"的,可以共享的密钥

代表:指数密钥一致协议(Exponential Key Agreement Protocol)

1.4. 非对称算法与公钥体系

1976年,Dittie和Hellman为解决密钥管理问题,在他们的奠基性的工作"密码学的新方向"一文中,提 出一种密钥交换协议,允许在不安全的媒体上通过通讯双方交换信息,安全地传送秘密密钥。在此新思想 的基础上,很快出现了非对称密钥密码体制,即公钥密码体制。在公钥体制中,加密密钥不同于解密密钥 ,加密密钥公之于众,谁都可以使用;解密密钥只有解密人自己知道。它们分别称为公开密钥(Public key)和秘密密钥(Private key)。

迄今为止的所有公钥密码体系中,RSA系统是最著名、最多使用的一种。RSA公开密钥密码系统是由 R.Rivest、A.Shamir和L.Adleman俊教授于1977年提出的。RSA的取名就是来自于这三位发明者的姓的第一 个字母

时间: 2024-12-09 22:49:53

JAVA上加密算法的实现用例笔记的相关文章

JAVA 上加密算法的实现用例

 JAVA 上加密算法的实现用例    1.1. 单钥密码体制 单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密. 通常 , 使用的加密算法 比较简便高效 , 密钥简短,加解密速度快,破译极其困难.但是加密的安全性依靠密钥保管的安全性 , 在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题,并且如果在多用户的情况下密钥的保管安全性也是一个问题. 单钥密码体制的代表是美国的 DES 1.2. 消息摘要 一个消息摘要就是一个数据块的数字指纹.即对一个任意长

JAVA上加密算法的实现用例MD5/SHA1,DSA,DESede/DES,Diffie-Hellman的使用(转)

源文作者王辉 第1章基础知识 1.1. 单钥密码体制 单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密. 通常,使用的加密算法比较简便高效,密钥简短,加解密速度快,破译极其困难.但是加密的安全性依靠密钥保管的安全性,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题,并且如果在多用户的情况下密钥的保管安全性也是一个问题. 单钥密码体制的代表是美国的DES 1.2. 消息摘要 一个消息摘要就是一个数据块的数字指纹.即对一个任意长度的一个数据块进行计算,产

CentOS上安装Node.js和mongodb笔记

  CentOS上安装Node.js和mongodb笔记        这篇文章主要介绍了CentOS上安装Node.js和mongodb笔记,本文讲解了Python安装.Node.js安装.npm安装.mongodb驱动安装.mongodb数据库操作测试代码等内容,需要的朋友可以参考下 之前听说过Node.js,只是知道它可以应用于服务器端,但是对很多具体的东西并不了解.今天在QCon上听了袁锋的分享<Node.js脱离了浏览器的Javascript>之后,顿时有了想立刻试一下的冲动. No

java上传视频截图

1,到CSDN下载: ffmpeg和mencoder命令使用的总结(超级全面) 2,两个程序: package national; import java.util.ArrayList; import java.util.List; public class VideoProcess { public static boolean processTransToImg2(String oldfilepath,String newfilename,String newimg){ System.out

开源-java上传下载文件服务器选择

问题描述 java上传下载文件服务器选择 目前在做一个ssh的项目,项目中的图片文件比较多, 寻思着再搭建一个文件服务器,可以通过api进行文件上传下载就可以了. 对着方面不太了解,不知道可以采用哪个. 最好是流行,开源的,稍微了解了一下seafile,FASTDfs. 希望熟悉的人能给我推荐一个啊. 解决方案 直接用aws,提供了现成的blob file server

java上传附件问题弹出大小限制

问题描述 java上传附件问题弹出大小限制 Java中上传附件大小限制都取消了,不知道哪还是弹出来"上传文件大小不能超过8M的最高限额,请重新上传" 解决方案 把代码贴出来看看.1.代码中的限制没清楚掉,java或者使用的上传附件插件中有限制2.你将附件上传到哪啊,如果是附件服务器或者ftp 可以看一下是否服务器有限制. 解决方案二: java文件上传大小限制在xml和js,以及后台都可以设置的.看看是不是其中的一个没有改掉啊.

java上传doc和Excel文件怎样去验证文件内容以及如何做安全防范

问题描述 java上传doc和Excel文件怎样去验证文件内容以及如何做安全防范 我用java做了一个文件上传功能 要求只能上传doc 和 excel 文件,验证了文件名后缀以及文件头,但是这种防范都可以绕过 !- 有么有更好的验证方法 求大神们指教 !- 小弟在此拜谢 解决方案 把doc,excel等用文本打开,然后检查一些文件头等信息. 解决方案二: 除非你用poi这样的库全部解析下.

云计算-我在java上运行Hadoop的例程 FindFileOnHDFS 结果报错了

问题描述 我在java上运行Hadoop的例程 FindFileOnHDFS 结果报错了 Exception in thread "main" java.lang.ClassCastException: org.apache.hadoop.fs.LocalFileSystem cannot be cast to org.apache.hadoop.hdfs.DistributedFileSystem at org.apache.hadoop.examples.FindFileOnHDF

图片-java上传文件到tomcat服务器返回302

问题描述 java上传文件到tomcat服务器返回302 前段时间做一个图片上传的功能, 惟独用手机上传大于2M的图片时会上传不了,后台代码也没有报错,只是返回"The document has moved here"这样一个字符串,错误码是302 初步确定是服务器的问题因为我将服务器端口由80改成8080就没问题了..接下来就不知道该怎么测试了,求指点... 解决方案 http://blog.csdn.net/dinner1984/article/details/7901954 解决