1. MD5加密,常用于加密用户名密码,当用户验证时。} } 2. SHA加密,与MD5相似的用法,只是两者的算法不同。} } 3. RSA加密,RAS加密允许解密。常用于文本内容的加密。
1. MD5加密,常用于加密用户名密码,当用户验证时。
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相似的用法,只是两者的算法不同。
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加密允许解密。常用于文本内容的加密。
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import javax.crypto.Cipher; /** *//**
* RSAEncrypt
*
* @author maqujun
* @see
*/
public class RSAEncrypt ...{
/** *//**
* Main method for RSAEncrypt.
* @param args
*/
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();
// Generate keys
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();
}
}
/** *//**
* Change byte array to String.
* @return byte[]
*/
protected String bytesToString(byte[] encrytpByte) ...{
String result = "";
for (Byte bytes : encrytpByte) ...{
result += (char) bytes.intValue();
}
return result;
}
/** *//**
* Encrypt String.
* @return byte[]
*/
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;
}
/** *//**
* Basic decrypt method
* @return byte[]
*/
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)是一种广泛...
总结来说,本资源提供的Java实现涵盖了基础的Base64编码、安全度较低的MD5哈希、广泛应用于公钥加密的RSA算法以及稍强于MD5的SHA1哈希。通过学习和使用这些jar包,开发者可以更好地理解和应用加密技术,增强应用程序...
本文将详细解析标题所提及的AES、DES、MD5、SHA1和RSA加密流程,并结合给定的Java实现进行讨论。 1. **AES(Advanced Encryption Standard)**:AES是一种对称加密算法,广泛用于保护大量数据的安全。它基于替换和...
本篇文章将详细介绍Java中两种常见的密码加密算法:MD5(Message-Digest Algorithm 5)和SHA(Secure Hash Algorithm)。我们将通过`CodeUtil.java`这个代码文件来探讨如何在实际开发中实现这两种加密方式。 首先,...
本文将深入探讨Java中常见的几种加密解密算法:SHA算法、HMAC算法、DES算法、PBE算法、AES算法、RSA算法、数字签名以及D-H算法。 1. SHA(Secure Hash Algorithm)算法: SHA是一种散列函数,它能将任意长度的输入...
在IT领域,安全是至关重要的,特别是在数据传输和存储中。MD5和RSA就是两种广泛使用的加密...在实际应用中,应当注意MD5的安全隐患,优先考虑更安全的散列算法如SHA-256,同时,RSA的密钥管理也应严格遵循安全规范。
本文将详细介绍几种常用的Java加密算法及其应用实例,包括MD5、SHA及RSA。 #### 1. MD5加密 **简介**:MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的数据转换成一个固定长度...
MD5和RSA是两种在计算机安全领域广泛应用的加密算法,主要用在数据的完整性校验和保密通信上。本文将详细介绍这两种加密方式及其在Java环境中的应用。 首先,MD5(Message-Digest Algorithm 5)是一种广泛使用的...
Java加密算法源码是开发人员在进行数据安全处理时常用的一种工具,涵盖了多种常见的加密算法,包括AES(高级加密标准)、DES(数据加密标准)、MD5(消息摘要算法5)、RSA(公钥加密技术)以及SHA(安全散列算法)。...
Java中包括MD5(Message-Digest Algorithm 5)和SHA系列(Secure Hash Algorithm)等。 - **MD5**:已被证明存在碰撞,不适合安全应用,但可用于文件校验。 - **SHA**:包括SHA-1、SHA-256、SHA-512等,SHA-1安全...
继而,我们将介绍散列算法,包括MD5和SHA,最后,我们将介绍数字签名算法。 对称加密算法使用相同的密钥对数据进行加密和解密。DES(Data Encryption Standard)是一种最早的对称加密算法,使用56位密钥对数据...
首先,通过对需要签名的数据进行摘要处理(如使用MD5等哈希算法),得到一个固定长度的摘要结果;其次,利用签名者的私钥对该摘要结果进行加密,生成最终的签名。此签名将随数据一起传输,在接收方验证时,需先用...
以上是Java加密算法的基本介绍,实际应用中,开发者应根据具体需求选择合适的加密算法,并确保遵循最佳实践,以保障数据的安全。在使用过程中,可以参考Java提供的API文档和示例代码,以便更好地理解和实现这些算法...
md5,aes,des,des3,rsa,sha,base64加密解密实例,含有所需jar包,注释详细,导入项目直接可用。
在Java编程语言中,加密算法是信息安全领域的重要组成部分,用于保护数据的隐私和安全。本文将详细介绍Java中常见的加密算法的实现,以及如何在JDK 1.8环境下进行操作。 1. **对称加密算法** 对称加密是最基础的...
总结来说,"使用RSA、MD5对参数生成签名及接收方验签"是一个典型的数字签名应用场景,结合了非对称加密和哈希函数的优点,实现了数据传输的安全性。在实际操作中,根据安全性需求,可以选择更安全的替代算法,如使用...