加密算法有很多种:这里只大约列举几例:
1:消息摘要:(数字指纹):既对一个任意长度的一个数据块进行计算,产生一个唯一指纹。MD5/SHA1
发送给其他人你的信息和摘要,其他人用相同的加密方法得到摘要,最后进行比较摘要是否相同。
2:单匙密码体制:DES:比较简便高效,密钥简短,加解密速度快,破译极其困难,但其安全性依赖于密匙的安全性。
DES(Data Encryption Standard)是发明最早的最广泛使用的分组对称加密算法。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密
3:数字签名:就是信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行RSA算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在经签名后末被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。
代表:DSA
4:非对称密匙密码体制(公匙体系):加密密匙不同于解密密匙,加密密匙公之于众,谁都可以使用,解密密匙只有解密人自己知道。代表:RSA
下面是对上面几个例子进行的简单实现:
用到的重要的类
javax.crypto.KeyGenerator
public final SecretKey generateKey()生成一个密钥
public static final KeyGenerator getInstance(String algorithm) 返回生成指定算法的秘密密钥的KeyGenerator对象。
javax.crypto 接口 SecretKey
javax.crypto.Cipher 此类为加密和解密提供密码功能。它构成了 Java Cryptographic Extension (JCE) 框架的核心
public final void init(int opmode,Key key)
public final byte[] doFinal(byte[] input) 按单部分操作加密或解密数据,或者结束一个多部分操作
java.security.KeyPairGenerator
static KeyPairGenerator getInstance(String algorithm)
回生成指定算法的 public/private 密钥对的 KeyPairGenerator 对象。
java.security.Signature
使用 Signature 对象签名数据或验证签名包括以下三个阶段:
1:初始化,使用
初始化验证签名的公钥(请参见 initVerify),或使用
初始化签署签名的私钥(也可以选择“安全随机数生成器”)initSign(PrivateKey)和initSign(PrivateKey, SecureRandom))。
2:更新
根据初始化类型,这可更新要签名或验证的字节。请参见 update 方法。
3:签署或验证所有更新字节的签名。请参见 sign 方法和 verify 方法。
分享到:
相关推荐
### Java加密解密简单实现详解 #### 概述 本文主要介绍了Java环境下几种常见的加密解密算法,并通过示例代码展示了这些算法的具体实现过程。文章首先概述了加密解密的基本概念,随后深入探讨了几种典型算法,包括...
标题和描述均提到了“Java加密解密简单实现”,这主要涵盖了消息摘要、单匙密码体制(DES)、数字签名(RSA)以及非对称密匙密码体制(公匙体系)等核心概念及其在Java中的应用。 ### 消息摘要 消息摘要是一种用于...
Java实现的RSA加密解密算法示例 本文主要介绍了Java实现的RSA加密解密算法,结合实例形式分析了Java RSA加密解密算法的相关实现技巧。 知识点1:RSA加密解密算法简介 RSA加密解密算法是一种非对称加密算法,由Ron...
Java加密解密工具是开发过程中不可或缺的部分,尤其是在处理敏感数据时,确保数据的安全性至关重要。在Java中,我们可以使用各种库和内置API来实现加密和解密操作。本篇文章将深入探讨Java加密解密的核心概念、常用...
在网络安全领域,数据加密是保障信息安全的重要手段。...综上所述,JS前台加密与Java后台解密是实现用户信息安全传输的一种有效策略。正确实施加密和解密流程,结合其他安全实践,能够大大提高网络应用的安全性。
"java实现文件加密解密" Java 实现文件的加密与解密是指利用 Java 语言将资源文件(包括图片、动画等类型)进行简单的加密和解密。这种策略的原因和好处是将准备好的资源存储在云上,使用时通过网络进行读取即可,...
java加密和解密的方法,利用指定的密钥,可逆的。密钥必须16位。
本文将详细讲解如何使用Java实现ZIP压缩包的加密与解密。 首先,我们需要理解加密的基本概念。加密是将明文数据转换为无法轻易理解的密文,以保护数据的安全性。解密则是将密文还原为原始的明文。在ZIP压缩包中,...
"com"目录下的子目录结构可能对应着Java的包名,包含了实现加密解密功能的类文件。而"resource"目录可能包含了配置文件、密钥文件或其他辅助资源,这些在加密解密过程中可能被用到。 总的来说,这个实例为我们展示...
Java加密解密工具包,通常用于保护敏感数据的安全,防止未经授权的访问或篡改。这个名为"JCT"的工具包提供了丰富的功能,使得开发者在Java应用中集成加密和解密操作变得更加简单。下面我们将详细探讨Java加密的相关...
在Java中实现排列码,我们可以利用编程语言的强大功能来设计相应的加密和解密算法。 首先,我们需要理解排列码的原理。排列码通常基于一个固定的编码规则,例如,可以使用数字或字符的某种特定顺序对数据进行编码。...
在这个"很强的Java加密解密算法源码.zip"中,我们可以深入学习如何在Java中实现3DES算法来加密和解密文件。 3DES算法是一种块加密算法,它通过三次应用DES密钥来增强安全性。基本流程如下: 1. **加密过程**:输入...
Java加密解密程序是软件开发中的一个重要领域,主要用于保护数据的安全性和隐私性。在这个特定的案例中,我们讨论的是一个基于MyEclipse开发的Java应用程序,它实现了凯撒加密法,这是一种古老但基础的加密技术。...
本篇文章将详细阐述DES加密解密的Java实现过程。 首先,我们需要了解DES算法的基本原理。DES是一种块密码,它将明文数据分成64位的数据块进行处理,其中包含56位的密钥。通过一系列复杂的置换和代换操作,将明文块...
一段java语言加密和解密的代码
SMS4国密JAVA加密解密完整代码,无异常java类文件,导入即用。Convert.java 内部字符串进制转换类,SMS4.java 国密加密解密处理方法类。TestMain.java 测试类,调用 encrypt 加密 decode 解密
总的来说,C#和Java之间的RSA加密解密通信涉及到多方面的知识,包括非对称加密原理、公钥私钥的生成和管理、不同编程语言间的互操作、数据安全传输以及可能的错误处理策略。掌握这些知识对于开发跨平台、高安全性的...
java实现的RC4加密解密算法示例提供了一个简单的加密和解密解决方案,但是在实际应用中,需要根据具体情况选择合适的加密算法和密钥管理策略。 此外,本站还提供了各种在线加密解密工具,包括MD5在线加密工具、哈希...
2. **Java加密API** - **Java Cryptography Extension (JCE)**:Java提供的一套用于加密、解密、数字签名等的库,包括Cipher、KeyGenerator、SecretKey、PublicKey、PrivateKey等类。 - **Java Cryptography ...