`
bestxiaok
  • 浏览: 452413 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 加密解密 算法1

 
阅读更多
采用对称的加密的算法,具体看代码吧。
import java.io.FileInputStream;
import java.io.FileOutputStream;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.security.Key;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;

/**
 * 加密解密算法1 
 * @author sknife
 *
 */


public class RVEncode1 {
	public static void main(String args[]) {
		String password = "tiger";
		try {
			RVEncode1.setPriveKey("t.obj");
			RVEncode1.PrivEncrypt(password,"t.obj");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 
	 * @param oldStr
	 *            要加密的串
	 * @param keyFile
	 *            私有key所在的文件路径
	 * @throws Exception
	 */
	public static void PrivEncrypt(String oldStr,String keyFile) throws Exception {
		System.out.println("原始:"+oldStr);
		byte[] plainText = oldStr.getBytes("GBK");
		Key key = getPriveKey(keyFile);
		// 获得一个私鈅加密类Cipher,ECB是加密方式,PKCS5Padding是填充方法
		Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
		
		cipher.init(Cipher.ENCRYPT_MODE, key);// 使用私鈅加密
		byte[] cipherText = cipher.doFinal(plainText);
		System.out.println("加密:"+new String(cipherText, "UTF8"));
		
		cipher.init(Cipher.DECRYPT_MODE, key);// 使用私钥解密
		byte[] newPlainText = cipher.doFinal(cipherText);
		System.out.println("解密:"+new String(newPlainText, "UTF8"));
	}

	// 把Key 写到文件中:生成一个私有Key对象,保存在文件中
	public static void setPriveKey(String file) {
		FileOutputStream fos;
		try {
			fos = new FileOutputStream(file);
			KeyGenerator keyGen = KeyGenerator.getInstance("DES");
			keyGen.init(56);//
			Key key = keyGen.generateKey();// 生成私钥Key
			ObjectOutputStream oos = new ObjectOutputStream(fos);
			oos.writeObject(key);
			oos.close();
		} catch (Exception e1) {
			e1.printStackTrace();
		}
	}
	// 从文件中读Key:客户端可以根据管理员提供的私钥Key文件提取Key对象
	public static Key getPriveKey(String file) throws Exception {
		FileInputStream fis = new FileInputStream(file);
		ObjectInputStream ois = new ObjectInputStream(fis);
		Key key = (Key) ois.readObject();
		return key;
	}
}



分享到:
评论

相关推荐

    Java实现的RSA加密解密算法示例

    知识点1:RSA加密解密算法简介 RSA加密解密算法是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1978年发明。RSA算法基于大数分解难题的原理,使用公钥加密、私钥解密的方式实现信息的加密和...

    很强的Java加密解密算法源码.zip

    在这个"很强的Java加密解密算法源码.zip"中,我们可以深入学习如何在Java中实现3DES算法来加密和解密文件。 3DES算法是一种块加密算法,它通过三次应用DES密钥来增强安全性。基本流程如下: 1. **加密过程**:输入...

    java实现的RC4加密解密算法示例

    "java实现的RC4加密解密算法示例" RC4加密解密算法是Symmetric-key block cipher的一种,使用同一个密钥进行加密和解密。java实现的RC4加密解密算法可以通过以下步骤实现: 1. 初始化数组:创建一个大小为256的...

    java实现MD5加密解密算法

    java实现MD5加密解密算法,java源代码~

    java加密解密算法小实例

    本实例将探讨一些常见的加密解密算法及其在Java中的实现。以下是一些关键知识点: 1. **对称加密算法**:这类算法使用相同的密钥进行加密和解密,如DES(Data Encryption Standard)、3DES(Triple DES)和AES...

    JAVA源码很强的Java加密解密算法源码

    根据提供的文件信息,本文将详细解析“JAVA源码很强的Java加密解密算法源码”这一主题中的关键知识点。从标题和描述来看,这是一份关于Java加密解密算法的源代码,通过百度网盘分享的方式提供给感兴趣的开发者。下面...

    很强的Java加密解密算法源码

    在IT行业中,加密和解密是信息安全领域的重要...综上所述,Java加密解密算法源码涵盖了多种安全机制,开发者可以基于这些源码进一步理解并定制自己的加密解决方案。通过深入学习和实践,可以有效提升应用程序的安全性。

    java 加密解密 算法

    Java加密解密是信息安全领域的重要组成部分,用于保护数据的安全性和隐私。在Java中,我们可以使用多种加密算法来实现数据的加密和解密。本篇将详细介绍几种常见的加密算法及其在Java中的应用,包括DES、RSA以及非...

    Java实现AES加密和解密算法

    在Java中实现AES(Advanced Encryption Standard)加密和解密算法主要涉及到对称密钥加密技术。AES算法是一种块密码,采用固定大小的128位(16字节)块进行加密和解密,支持128、192和256位的密钥长度。在给定的代码...

    JAVA 加密 解密 算法

    通过对Java加密解密算法的学习,特别是对Blowfish算法的深入理解,我们能够更好地保护数据的安全性。在实际开发中,选择合适的加密算法非常重要,同时还需要注意算法的安全性和性能之间的平衡。希望本文能帮助大家更...

    java加密解密算法(AES)

    java加密解密算法的集合,AES DES。

    RC4加密解密算法的Java实现

    *网上很多RC4算法在用的时候,都会出现「加密然后立即在内存中解密」可以,但先把加密后的密文写入文件再读取解密就失败的情况。这段代码没有这种情况。...*采用了重载函数,我用了String加密解密,成功。

    TripleDES加密解密算法的实现(JAVA)

    TripleDES加密解密算法的实现(JAVA)

    java加密解密工具

    本篇文章将深入探讨Java加密解密的核心概念、常用算法以及如何使用它们。 一、加密的基本原理 加密是一种将明文数据转换为看似随机的密文的过程,目的是保护数据免受未经授权的访问。解密则是将密文还原为原始明文...

    java加密解密算法

    对文本进行加密和解密,异或加密和转化二进制十六进制加密

    常用java加密解密算法

    在这篇文档中,我们主要介绍了三种常用加密解密算法:DES算法、RSA算法以及MD5算法,并简要分析了它们的使用规则和安全性。 首先,DES(Data Encryption Standard,数据加密标准)算法是一种经典的对称密钥加密技术...

    java加密解密算法类_Cipher

    这个"java加密解密算法类_Cipher"可能包含了上述所有或部分知识点的实现,通过阅读源代码,我们可以更深入地理解Java中加密解密的实际应用和细节。在实际开发中,这些知识对于构建安全的网络通信、数据库存储和数据...

    基于java的开发源码-很强的加密解密算法源码.zip

    基于java的开发源码-很强的加密解密算法源码.zip 基于java的开发源码-很强的加密解密算法源码.zip 基于java的开发源码-很强的加密解密算法源码.zip 基于java的开发源码-很强的加密解密算法源码.zip 基于java的开发...

Global site tag (gtag.js) - Google Analytics