`
maqujun
  • 浏览: 135444 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

    博客分类:
  • Java
阅读更多
最近工作中需要使用Java中的内置加密算法的应用,在此把简单的代码和大家共享一下。
1. MD5加密,常用于加密用户名密码,当用户验证时。没有解密的方法。

java 代码
  1. protected byte[] encrypt(byte[] obj) {
  2. try {
  3. MessageDigest md5 = MessageDigest.getInstance("MD5");
  4. md5.update(obj);
  5. return md5.digest();
  6. } catch (NoSuchAlgorithmException e) {
  7. e.printStackTrace();
  8. }
  9. }



2. SHA加密,与MD5相似的用法,只是两者的算法不同。

java 代码
  1. protected byte[] encrypt(byte[] obj) {
  2. try {
  3. MessageDigest sha = MessageDigest.getInstance("SHA");
  4. sha.update(obj);
  5. return sha.digest();
  6. } catch (NoSuchAlgorithmException e) {
  7. e.printStackTrace();
  8. }
  9. }



3. RSA加密,RAS加密允许解密。常用于文本内容的加密。

java 代码
  1. import java.security.KeyPair;
  2. import java.security.KeyPairGenerator;
  3. import java.security.interfaces.RSAPrivateKey;
  4. import java.security.interfaces.RSAPublicKey;
  5. import javax.crypto.Cipher;
  6. /**
  7. * RSAEncrypt
  8. *

  9. * @author maqujun
  10. * @see
  11. */
  12. public class RSAEncrypt {
  13. /**
  14. * Main method for RSAEncrypt.
  15. * @param args
  16. */
  17. public static void main(String[] args) {
  18. try {
  19. RSAEncrypt encrypt = new RSAEncrypt();
  20. String encryptText = "encryptText";
  21. KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
  22. keyPairGen.initialize(1024);
  23. KeyPair keyPair = keyPairGen.generateKeyPair();
  24. // Generate keys
  25. RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
  26. RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
  27. byte[] e = encrypt.encrypt(publicKey, encryptText.getBytes());
  28. byte[] de = encrypt.decrypt(privateKey,e);
  29. System.out.println(encrypt.bytesToString(e));
  30. System.out.println(encrypt.bytesToString(de));
  31. } catch (Exception e) {
  32. e.printStackTrace();
  33. }
  34. }
  35. /**
  36. * Change byte array to String.
  37. * @return byte[]
  38. */
  39. protected String bytesToString(byte[] encrytpByte) {
  40. String result = "";
  41. for (Byte bytes : encrytpByte) {
  42. result += (char) bytes.intValue();
  43. }
  44. return result;
  45. }
  46. /**
  47. * Encrypt String.
  48. * @return byte[]
  49. */
  50. protected byte[] encrypt(RSAPublicKey publicKey, byte[] obj) {
  51. if (publicKey != null) {
  52. try {
  53. Cipher cipher = Cipher.getInstance("RSA");
  54. cipher.init(Cipher.ENCRYPT_MODE, publicKey);
  55. return cipher.doFinal(obj);
  56. } catch (Exception e) {
  57. e.printStackTrace();
  58. }
  59. }
  60. return null;
  61. }
  62. /**
  63. * Basic decrypt method
  64. * @return byte[]
  65. */
  66. protected byte[] decrypt(RSAPrivateKey privateKey, byte[] obj) {
  67. if (privateKey != null) {
  68. try {
  69. Cipher cipher = Cipher.getInstance("RSA");
  70. cipher.init(Cipher.DECRYPT_MODE, privateKey);
  71. return cipher.doFinal(obj);
  72. } catch (Exception e) {
  73. e.printStackTrace();
  74. }
  75. }
  76. return null;
  77. }
  78. }

加密算法还有很多,以后用到的话再加入。
分享到:
评论

相关推荐

    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包

    本资源提供了base64、MD5、RSA和SHA1这四种常见加密算法的Java实现,并附带了相应的jar包,便于学习和应用。 首先,Base64是一种简单的编码方式,主要用于将二进制数据转换为可打印的ASCII字符,以便在网络传输或...

    java常用几种加密算法

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

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

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

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

    HMAC基于SHA或MD5等散列函数,增强了安全性。 3. DES(Data Encryption Standard)算法: DES是一种古老的对称加密算法,使用56位密钥对数据进行64位块的加密。虽然现在已被认为不够安全,但它是现代加密算法的...

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

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

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

    在给出的压缩包文件中,`rsa.jar`可能是一个包含上述MD5和RSA实现的Java库,`readme.txt`可能是关于如何使用这些功能的说明,而`Test_WebSafe`可能是一个测试用例,用于演示如何在Web环境中安全地使用这些加密算法。...

    java 加密算法及原理.jar

    Java加密算法及原理是信息安全领域中的重要组成部分,用于保护数据的隐私性和完整性。在Java中,我们可以使用多种加密算法来实现数据的安全传输和存储。以下将详细介绍几种常见的Java加密算法及其工作原理。 1. **...

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

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

    java加密算法实现

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

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

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

    delphi XE6 RSA加密解密签名 MD5WithRSA签名 Java通用

    RSA加密算法是一种非对称加密技术,广泛应用于网络安全领域,如数据传输保护、数字签名等。在Delphi XE6中实现RSA加密解密及签名功能,能够确保Delphi程序与Java平台之间的数据安全交互。这里我们将深入探讨这些概念...

    java加密算法源码

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

    MD5 RSA 加密方式工具类

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

    基于Java的加密算法演示项目.zip

    通过不同的示例代码,项目涵盖了Base64、DES、IDEA、MD5、RSA和SHA1等多种加密算法的实现。每个示例都详细展示了如何使用Java语言和相关库来实现这些加密和解密操作。 主要内容 Base64Demo: 演示了如何使用...

Global site tag (gtag.js) - Google Analytics