`

几种JAVA加密算法

 
阅读更多

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 加密算法(很好的算法,经典摘要)

    下面将详细讨论几种经典的Java加密算法。 1. 对称加密算法: 对称加密算法使用相同的密钥进行加密和解密,效率高,适合大量数据的处理。Java中常见的对称加密算法包括: - DES(Data Encryption Standard):一种...

    java常用几种加密算法

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

    Java加密算法学习笔记的源码包

    这个名为"Java加密算法学习笔记的源码包"的压缩文件包含了关于Java中几种主要加密算法的实践代码和相关库,这对于理解和应用这些技术非常有帮助。 1. **Base64编码**: Base64是一种将二进制数据转化为可打印字符的...

    java 加密算法及原理.jar

    以下将详细介绍几种常见的Java加密算法及其工作原理。 1. **对称加密算法** 对称加密算法使用相同的密钥进行加密和解密,速度快,效率高,适合大量数据的处理。Java中内置了DES(Data Encryption Standard)、3DES...

    java对几种加密算法的实现

    以下是对几种常见加密算法在Java中的实现的详细阐述: 1. **对称加密**: - **DES(Data Encryption Standard)**:是一种古老的对称加密算法,使用56位密钥进行64位块加密。Java中的`javax.crypto.Cipher`类提供...

    JAVA加密算法

    ### JAVA加密算法详解 #### 一、概述 在信息技术领域,加密技术是保障信息安全的关键手段之一。本篇文章将深入探讨JAVA平台上的加密算法实现,并重点介绍单钥密码体制及其应用场景。 #### 二、单钥密码体制...

    java rsa加密算法实现

    在Java中实现RSA加密算法,主要涉及以下几个核心概念和步骤: 1. **RSA原理**:RSA算法基于数论中的大数因子分解难题,由两个大素数P和Q相乘得到N,然后计算N的欧拉函数φ(N) = (P-1) * (Q-1),选取一个与φ(N)互质...

    java版加密算法实验

    在Java编程环境中,加密算法是信息安全领域中的重要组成部分,它为数据提供了保护,防止未经授权的访问和使用。本文将深入探讨“java版加密算法实验”,并基于描述中的内容,我们将会学习如何设计加密算法,理解其...

    三平台通用加密算法(java/.net/Object-C)

    通用加密算法常常包括以下几种类型: 1. **对称加密**:如AES(Advanced Encryption Standard),它使用相同的密钥进行加密和解密,速度快但密钥分发是个挑战。 2. **非对称加密**:如RSA,使用一对公钥和私钥,公钥...

    JAVA的加密算法及应用

    本文介绍了几种常用的加密算法,包括对称加密算法(如DES、3DES和AES)以及非对称加密算法(如RSA、DSA和ECC),并分析了它们之间的区别和应用场景。通过合理选择和使用这些加密算法,可以有效地保护数据的安全性。...

    java实现MD5加密算法

    在Java中实现MD5加密算法主要涉及以下几个知识点: 1. **MD5的基本原理**:MD5是一种单向哈希函数,它的主要特点是快速、高效,并且对于输入数据的微小改变会产生显著不同的输出。尽管MD5已经不再被认为是安全的,...

    SHA-256加密算法JAVA

    在Java中实现SHA-256加密算法,可以使用内置的`java.security.MessageDigest`类。这个过程涉及到几个关键步骤,包括创建`MessageDigest`实例、更新输入数据和获取哈希值。 首先,我们需要导入必要的Java库: ```...

    DES加密算法JAVA代码

    ### DES加密算法JAVA代码知识点详解 #### 一、概述 数据加密标准(Data Encryption Standard,简称DES)是一种广泛使用的对称密钥加密技术。在Java中实现DES加密解密功能通常涉及以下几个关键类:`javax.crypto....

    维吉尼亚加密算法的JAVA实现

    在Java中实现维吉尼亚加密算法,我们需要理解以下几个核心概念: 1. **密钥**:维吉尼亚密码的关键在于其密钥,这是一个由字母组成的字符串,决定了加密和解密过程中使用的偏移量。密钥的长度决定了密码表的循环...

    常用加密算法的Java实现总结(二)——对称加密算法DES、3DES和AES.pdf

    1. 对称加密算法主要包含以下几种: - DES(Data Encryption Standard):是一种使用56位密钥的对称密钥加密算法,因其密钥长度较短,在现代计算能力面前已不够安全,但它奠定了后续加密技术的基础。 - 3DES...

    Xposed的一个Hook模块,用于java加密算法破解.zip

    Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run Anywhere): Java的代码可以在不同的平台上运行,只需编写一次代码,就可以在任何支持Java的设备上执行。这得益于Java虚拟机(JVM),它充当了...

    java 加密解密 算法

    本篇将详细介绍几种常见的加密算法及其在Java中的应用,包括DES、RSA以及非对称加密。 1. **DES(Data Encryption Standard)**:DES是一种对称加密算法,它使用56位的密钥对64位的数据块进行加密和解密。在Java中...

    分享Java常用几种加密算法(四种)

    本文将探讨四种常见的Java加密算法,包括对称加密、非对称加密、哈希算法以及消息认证码(MAC)。首先,我们来了解一下Base64编码,它并非加密算法,而是一种编码方式,常用于在网络上传输8Bit字节数据。 1. **Base...

Global site tag (gtag.js) - Google Analytics