摘要加密算法主要由MD、SHA及MAC加密三个家族
一、MD加密算法代码
MessageDigest md = MessageDigest.getInstance("MD5");
return md.digest(data);
也可以用apache的commons封装后的代码。
二、SHA加密算法代码
MessageDigest md = MessageDigest.getInstance("SHA-256");
return md.digest(data);
三、MAC算法代码
1、生成密钥
//初始化KeyGenerator
KeyGenerator keyGenerator= KeyGenerator.getInstance("HmacMD5");
//生成密钥
SecretKey secretKey = keyGenerator.generateKey();
return secretKey.getEncoded()
2、还原密钥
SecretKey secretKey= new SecretKeySpec(key, "HmacMD5");
3、生成摘要
SecretKey secretKey= new SecretKeySpec(key, "HmacMD5");
Mac mac=Mac.getInstance(secretKey.getAlgorithm());
mac.init(secretKey);
return mac.doFinal(data);
注:如果要使用开源的Bouncy Castle需要在下面两种方式中选择一种:
一、修改%JDK_HOME%\jre\lib\security\java.security文件中添加:
security.provider.XX=org.bouncycastle.jce.provider.BouncyCastleProvider
二、在程序中加入如下内容:
import org.bouncycastle.jce.provider.BouncyCastleProvider;
Security.addProvider(new BouncyCastleProvider());
分享到:
相关推荐
java关于加密的算法demo代码(Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法) JAVA安全实现三种方式: 1.JDK 2.Commons Codec 3.Bouncy Castle 一。非对称加密算法: 1.DH 2.RSA 3.ELGamal 二。...
Java加密算法是信息安全领域中的重要组成部分,用于保护数据的隐私性和完整性。在Java平台上,有多种内置的加密库,如Java Cryptography Extension (JCE) 和 Java Cryptography Architecture (JCA),它们为开发者...
C#加密算法汇总 C#加密算法 C#加密算法 C#加密算法
### Java自定义加密算法知识点详解 #### 一、概述 在信息安全领域,数据加密是保护数据安全的重要手段之一。本文将详细介绍一个Java实现的自定义加密算法案例,该算法通过组合数字、小写字母、大写字母以及特殊...
在"research_encrypt-code"这个压缩包中,很可能包含了Java实现同态加密算法的源代码,包括密钥管理、加密、解密和操作加密数据的函数。通过研究这些代码,我们可以深入了解如何在实际应用中利用Java来构建安全的...
在Java编程语言中,加密算法是信息安全领域的重要组成部分,用于保护数据的隐私和安全。本文将详细介绍Java中常见的加密算法的实现,以及如何在JDK 1.8环境下进行操作。 1. **对称加密算法** 对称加密是最基础的...
本主题探讨的是如何在 Java 和 C++ 中实现相同的加密算法,以便在这两个环境中可以无缝地交换加密数据。这里我们将专注于一种常见的加密标准——AES(高级加密标准),它在3个文件中被实现。 AES,全称为Advanced ...
Java加密算法及原理是信息安全领域中的重要组成部分,用于保护数据的隐私性和完整性。在Java中,我们可以使用多种加密算法来实现数据的安全传输和存储。以下将详细介绍几种常见的Java加密算法及其工作原理。 1. **...
在Java中实现RSA加密算法,主要涉及以下几个核心概念和步骤: 1. **RSA原理**:RSA算法基于数论中的大数因子分解难题,由两个大素数P和Q相乘得到N,然后计算N的欧拉函数φ(N) = (P-1) * (Q-1),选取一个与φ(N)互质...
Java公钥加密算法RSA是一种广泛应用于网络通信中的安全技术,主要基于数学问题的难度来确保数据的安全性。RSA,由其发明者Ron Rivest、Adi Shamir和Leonard Adleman的名字首字母组成,是一种非对称加密算法,这意味...
为了实现这些加密算法,你需要对Java编程有扎实的基础,理解字符编码、字符串操作,以及如何使用Java的IO流进行数据处理。同时,对于RSA,还需要了解数论基础,特别是关于大整数的运算。在物联网安全背景下,这些...
Java加密算法是信息安全领域的重要组成部分,它涉及到数据的保护、隐私的维护以及网络通信的安全。在Java中,我们可以使用多种加密技术来实现数据的加密和解密,包括对称加密、非对称加密以及数字签名等。下面将详细...
在Java编程语言中,加密算法是安全领域的重要组成部分,用于保护数据的隐私和完整性。本文将深入探讨Java中常见的加密算法及其实现,旨在为开发者提供一个实用的加密算法指南。 一、基本概念 1. 密码学:密码学是...
Java加密算法是信息安全领域的重要组成部分,它在保护数据隐私、验证数据完整性和确认发送者身份等方面发挥着关键作用。这个名为"Java加密算法学习笔记的源码包"的压缩文件包含了关于Java中几种主要加密算法的实践...
本人总结了一些对称的加密算法,希望可以给一些朋友带来帮助!!
加密加密算法调研以及 加密算法 代码实现,其中包括rsa、des、hash等算法
本程序是java语言实现的DES加密算法的实例。
JCE是Java平台的标准扩展,提供了强大的加密、解密、消息摘要和密钥生成等功能。例如,AES加密可以在Java中通过`javax.crypto.Cipher`类实现,如下所示: ```java import javax.crypto.Cipher; import javax.crypto...