`
烟的傀儡
  • 浏览: 27673 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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

阅读更多

 

1. MD5加密,常用于加密用户名密码,当用户验证时。

未进行变相加密,只是让让初学者更好的了解MessageDigest方法的加密用法!

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;
/** *//**
 * <b>RSAEncrypt</b>
 * <p>
 * @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;
    }
}
 转载:http://www.mfxk.com/tech/jsp/45036.html

 

分享到:
评论

相关推荐

    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)是一种广泛使用的散列函数,能够将任意长度的数据转换成一个固定长度...

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

    至于与Java的兼容性,由于RSA算法和MD5标准是跨语言的,因此在Delphi生成的密钥对和签名可以无缝地与Java应用程序交互。只需确保Java端使用相同的方法(如Java的`java.security.KeyPairGenerator`,`java.security....

    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. **对称加密算法** 对称加密是最基础的...

Global site tag (gtag.js) - Google Analytics