最近工作中需要使用Java中的内置加密算法的应用,在此把简单的代码和大家共享一下。
1. MD5
加密,常用于加密用户名密码,当用户验证时。没有解密的方法。
java 代码
- protected byte[] encrypt(byte[] obj) {
- try {
- MessageDigest md5 = MessageDigest.getInstance("MD5");
- md5.update(obj);
- return md5.digest();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- }
2. SHA加密,与MD5相似的用法,只是两者的算法不同。
java 代码
- protected byte[] encrypt(byte[] obj) {
- try {
- MessageDigest sha = MessageDigest.getInstance("SHA");
- sha.update(obj);
- return sha.digest();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- }
3. RSA加密,RAS加密允许解密。常用于文本内容的加密。
java 代码
- import java.security.KeyPair;
- import java.security.KeyPairGenerator;
- import java.security.interfaces.RSAPrivateKey;
- import java.security.interfaces.RSAPublicKey;
-
- import javax.crypto.Cipher;
-
-
-
-
-
-
-
- public class RSAEncrypt {
-
-
-
-
-
- public static void main(String[] args) {
- try {
- RSAEncrypt encrypt = new RSAEncrypt();
-
- String encryptText = "encryptText";
- KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
- keyPairGen.initialize(1024);
- KeyPair keyPair = keyPairGen.generateKeyPair();
-
- RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
- RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
-
- byte[] e = encrypt.encrypt(publicKey, encryptText.getBytes());
- byte[] de = encrypt.decrypt(privateKey,e);
- System.out.println(encrypt.bytesToString(e));
- System.out.println(encrypt.bytesToString(de));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-
-
-
-
- protected String bytesToString(byte[] encrytpByte) {
- String result = "";
- for (Byte bytes : encrytpByte) {
- result += (char) bytes.intValue();
- }
- return result;
- }
-
-
-
-
-
- protected byte[] encrypt(RSAPublicKey publicKey, byte[] obj) {
- if (publicKey != null) {
- try {
- Cipher cipher = Cipher.getInstance("RSA");
- cipher.init(Cipher.ENCRYPT_MODE, publicKey);
- return cipher.doFinal(obj);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- return null;
- }
-
-
-
-
-
- protected byte[] decrypt(RSAPrivateKey privateKey, byte[] obj) {
- if (privateKey != null) {
- try {
- Cipher cipher = Cipher.getInstance("RSA");
- cipher.init(Cipher.DECRYPT_MODE, privateKey);
- return cipher.doFinal(obj);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- return null;
- }
- }
加密算法还有很多,以后用到的话再加入。
分享到:
相关推荐
Java 中常用的加密算法有多种,包括 MD5、SHA 和 RSA 等,这些算法在不同的应用场景中发挥着重要作用。下面将对这些算法进行详细的介绍和分析。 一、MD5 加密算法 MD5(Message-Digest Algorithm 5)是一种常用的...
Java中常用的加密算法MD5,SHA,RSA.mht
本文将详细介绍在Java中常见的三种加密算法:MD5、SHA以及RSA,并探讨它们的应用场景和实现方式。 1. MD5(Message-Digest Algorithm 5)加密: MD5是一种广泛使用的哈希函数,它将任意长度的输入转化为固定长度的...
本文将深入探讨Java中的RSA加解密、ZIP加密压缩以及JavaScript中的MD5、SHA1和RSA加密算法。这些技术在网络安全、数据传输、用户认证等多个领域中广泛应用。 首先,我们来看RSA加密算法。RSA是一种非对称加密算法,...
MD5和RSA是信息安全领域中两种重要的加密算法,它们各自有着独特的特性和应用场景。MD5主要用作消息摘要,而RSA则是一种非对称加密算法,适用于数据加密和数字签名。 MD5(Message-Digest Algorithm 5)是一种广泛...
本资源提供了base64、MD5、RSA和SHA1这四种常见加密算法的Java实现,并附带了相应的jar包,便于学习和应用。 首先,Base64是一种简单的编码方式,主要用于将二进制数据转换为可打印的ASCII字符,以便在网络传输或...
本文将详细介绍几种常用的Java加密算法及其应用实例,包括MD5、SHA及RSA。 #### 1. MD5加密 **简介**:MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的数据转换成一个固定长度...
本篇文章将详细介绍Java中两种常见的密码加密算法:MD5(Message-Digest Algorithm 5)和SHA(Secure Hash Algorithm)。我们将通过`CodeUtil.java`这个代码文件来探讨如何在实际开发中实现这两种加密方式。 首先,...
HMAC基于SHA或MD5等散列函数,增强了安全性。 3. DES(Data Encryption Standard)算法: DES是一种古老的对称加密算法,使用56位密钥对数据进行64位块的加密。虽然现在已被认为不够安全,但它是现代加密算法的...
本文将详细解析标题所提及的AES、DES、MD5、SHA1和RSA加密流程,并结合给定的Java实现进行讨论。 1. **AES(Advanced Encryption Standard)**:AES是一种对称加密算法,广泛用于保护大量数据的安全。它基于替换和...
在给出的压缩包文件中,`rsa.jar`可能是一个包含上述MD5和RSA实现的Java库,`readme.txt`可能是关于如何使用这些功能的说明,而`Test_WebSafe`可能是一个测试用例,用于演示如何在Web环境中安全地使用这些加密算法。...
Java加密算法及原理是信息安全领域中的重要组成部分,用于保护数据的隐私性和完整性。在Java中,我们可以使用多种加密算法来实现数据的安全传输和存储。以下将详细介绍几种常见的Java加密算法及其工作原理。 1. **...
md5,aes,des,des3,rsa,sha,base64加密解密实例,含有所需jar包,注释详细,导入项目直接可用。
在Java编程语言中,加密算法是信息安全领域的重要组成部分,用于保护数据的隐私和安全。本文将详细介绍Java中常见的加密算法的实现,以及如何在JDK 1.8环境下进行操作。 1. **对称加密算法** 对称加密是最基础的...
以上是Java加密算法的基本介绍,实际应用中,开发者应根据具体需求选择合适的加密算法,并确保遵循最佳实践,以保障数据的安全。在使用过程中,可以参考Java提供的API文档和示例代码,以便更好地理解和实现这些算法...
RSA加密算法是一种非对称加密技术,广泛应用于网络安全领域,如数据传输保护、数字签名等。在Delphi XE6中实现RSA加密解密及签名功能,能够确保Delphi程序与Java平台之间的数据安全交互。这里我们将深入探讨这些概念...
Java加密算法源码是开发人员在进行数据安全处理时常用的一种工具,涵盖了多种常见的加密算法,包括AES(高级加密标准)、DES(数据加密标准)、MD5(消息摘要算法5)、RSA(公钥加密技术)以及SHA(安全散列算法)。...
MD5和RSA是两种在计算机安全领域广泛应用的加密算法,主要用在数据的完整性校验和保密通信上。本文将详细介绍这两种加密方式及其在Java环境中的应用。 首先,MD5(Message-Digest Algorithm 5)是一种广泛使用的...
通过不同的示例代码,项目涵盖了Base64、DES、IDEA、MD5、RSA和SHA1等多种加密算法的实现。每个示例都详细展示了如何使用Java语言和相关库来实现这些加密和解密操作。 主要内容 Base64Demo: 演示了如何使用...