`
sober1988
  • 浏览: 9290 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Java中常用的加密算法应用MD5,SHA,RSA

阅读更多
 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

    Java 中常用的加密算法有多种,包括 MD5、SHA 和 RSA 等,这些算法在不同的应用场景中发挥着重要作用。下面将对这些算法进行详细的介绍和分析。 一、MD5 加密算法 MD5(Message-Digest Algorithm 5)是一种常用的...

    Java中常用的加密算法MD5,SHA,RSA.mht

    Java中常用的加密算法MD5,SHA,RSA.mht

    Java中常用的加密算法应用

    本文将详细介绍在Java中常见的三种加密算法:MD5、SHA以及RSA,并探讨它们的应用场景和实现方式。 1. MD5(Message-Digest Algorithm 5)加密: MD5是一种广泛使用的哈希函数,它将任意长度的输入转化为固定长度的...

    java RSA加解密 zip加解密, js MD5 SHA1 RSA加密

    本文将深入探讨Java中的RSA加解密、ZIP加密压缩以及JavaScript中的MD5、SHA1和RSA加密算法。这些技术在网络安全、数据传输、用户认证等多个领域中广泛应用。 首先,我们来看RSA加密算法。RSA是一种非对称加密算法,...

    使用MD5和RSA加密算法实现加密解密,可直接在项目中使用

    MD5和RSA是信息安全领域中两种重要的加密算法,它们各自有着独特的特性和应用场景。MD5主要用作消息摘要,而RSA则是一种非对称加密算法,适用于数据加密和数字签名。 MD5(Message-Digest Algorithm 5)是一种广泛...

    base64/md5/RSA/SHA1等加密算法Java实现,附jar包

    总结来说,本资源提供的Java实现涵盖了基础的Base64编码、安全度较低的MD5哈希、广泛应用于公钥加密的RSA算法以及稍强于MD5的SHA1哈希。通过学习和使用这些jar包,开发者可以更好地理解和应用加密技术,增强应用程序...

    密码学中AES\DES\MD5\SHA1\RSA加密流程的JAVA实现

    本文将详细解析标题所提及的AES、DES、MD5、SHA1和RSA加密流程,并结合给定的Java实现进行讨论。 1. **AES(Advanced Encryption Standard)**:AES是一种对称加密算法,广泛用于保护大量数据的安全。它基于替换和...

    Java常用的对密码加密的方法(MD5,SHA)

    本篇文章将详细介绍Java中两种常见的密码加密算法:MD5(Message-Digest Algorithm 5)和SHA(Secure Hash Algorithm)。我们将通过`CodeUtil.java`这个代码文件来探讨如何在实际开发中实现这两种加密方式。 首先,...

    java多种加密解密算法:SHA算法,HMAC算法,DES算法,PBE算法,AES算法,RSA算法,数字签名,D-H算法

    本文将深入探讨Java中常见的几种加密解密算法:SHA算法、HMAC算法、DES算法、PBE算法、AES算法、RSA算法、数字签名以及D-H算法。 1. SHA(Secure Hash Algorithm)算法: SHA是一种散列函数,它能将任意长度的输入...

    Java版MD5和RSA加解密算法完整实现

    在IT领域,安全是至关重要的,特别是在数据传输和存储中。MD5和RSA就是两种广泛使用的加密...在实际应用中,应当注意MD5的安全隐患,优先考虑更安全的散列算法如SHA-256,同时,RSA的密钥管理也应严格遵循安全规范。

    java常用几种加密算法

    本文将详细介绍几种常用的Java加密算法及其应用实例,包括MD5、SHA及RSA。 #### 1. MD5加密 **简介**:MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的数据转换成一个固定长度...

    MD5 RSA 加密方式工具类

    MD5和RSA是两种在计算机安全领域广泛应用的加密算法,主要用在数据的完整性校验和保密通信上。本文将详细介绍这两种加密方式及其在Java环境中的应用。 首先,MD5(Message-Digest Algorithm 5)是一种广泛使用的...

    java加密算法源码

    Java加密算法源码是开发人员在进行数据安全处理时常用的一种工具,涵盖了多种常见的加密算法,包括AES(高级加密标准)、DES(数据加密标准)、MD5(消息摘要算法5)、RSA(公钥加密技术)以及SHA(安全散列算法)。...

    java 加密算法及原理.jar

    Java中包括MD5(Message-Digest Algorithm 5)和SHA系列(Secure Hash Algorithm)等。 - **MD5**:已被证明存在碰撞,不适合安全应用,但可用于文件校验。 - **SHA**:包括SHA-1、SHA-256、SHA-512等,SHA-1安全...

    Java中常用的加密算法及其实现原理详解-保护信息的铠甲,静默守护你的隐私

    继而,我们将介绍散列算法,包括MD5和SHA,最后,我们将介绍数字签名算法。  对称加密算法使用相同的密钥对数据进行加密和解密。DES(Data Encryption Standard)是一种最早的对称加密算法,使用56位密钥对数据...

    RSA和RSA2签名算法区别.md

    首先,通过对需要签名的数据进行摘要处理(如使用MD5等哈希算法),得到一个固定长度的摘要结果;其次,利用签名者的私钥对该摘要结果进行加密,生成最终的签名。此签名将随数据一起传输,在接收方验证时,需先用...

    JAVA 加密算法(很好的算法,经典摘要)

    以上是Java加密算法的基本介绍,实际应用中,开发者应根据具体需求选择合适的加密算法,并确保遵循最佳实践,以保障数据的安全。在使用过程中,可以参考Java提供的API文档和示例代码,以便更好地理解和实现这些算法...

    java 各种加密方式,MD5加密算法

    md5,aes,des,des3,rsa,sha,base64加密解密实例,含有所需jar包,注释详细,导入项目直接可用。

    java加密算法实现

    在Java编程语言中,加密算法是信息安全领域的重要组成部分,用于保护数据的隐私和安全。本文将详细介绍Java中常见的加密算法的实现,以及如何在JDK 1.8环境下进行操作。 1. **对称加密算法** 对称加密是最基础的...

    使用RSA、MD5对参数生成签名及接收方验签

    总结来说,"使用RSA、MD5对参数生成签名及接收方验签"是一个典型的数字签名应用场景,结合了非对称加密和哈希函数的优点,实现了数据传输的安全性。在实际操作中,根据安全性需求,可以选择更安全的替代算法,如使用...

Global site tag (gtag.js) - Google Analytics