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

java 加密解密 示例

 
阅读更多
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.ObjectInputStream; 
import java.io.ObjectOutputStream; 
import java.security.Key; 
import java.security.MessageDigest; 
 
import javax.crypto.Cipher; 
import javax.crypto.KeyGenerator; 
 
public class Demo { 
    public static void main(String args[]) { 
        String password = "administrator"; 
        try { 
            Demo.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("AES/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(128); 
            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; 
    } 

/* 运行结果:
* 原始:administrator 
* 加密:!Y????I?? ??R;?
* 解密:administrator
*/ 
分享到:
评论

相关推荐

    Java中3DES加密解密示例(封装byte数组16进制互转)

    Java 中的 3DES 加密解密示例(封装 byte 数组和 16 进制字符串互转) 在 Java 中,3DES 加密是一种常用的加密算法,它可以将明文数据转换为密文数据,以保护数据的安全性。在本示例中,我们将展示如何使用 3DES ...

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

    Java实现的RSA加密解密算法示例 本文主要介绍了Java实现的RSA加密解密算法,结合实例形式分析了Java RSA加密解密算法的相关实现技巧。 知识点1:RSA加密解密算法简介 RSA加密解密算法是一种非对称加密算法,由Ron...

    java加密解密工具

    以下是一个简单的AES加密解密示例: ```java import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import java.security.SecureRandom; public class AESEncryptDemo ...

    JAVA数据加密解密的实例

    本实例将聚焦于JAVA数据加密解密的实践应用。 首先,让我们理解加密和解密的基本概念。加密是一种将明文(可读信息)转化为密文(不可读信息)的过程,以保护数据不被未经授权的用户访问。解密则是加密的逆过程,将...

    java加密解密zip压缩包

    以上代码示例展示了如何在Java中实现ZIP压缩包的加密和解密。需要注意的是,加密后的ZIP文件需要保存密码以供解密时使用。此外,加密的强度取决于所选的加密算法和密码的复杂性。在实际应用中,应确保密码的安全存储...

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

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

    java实现文件加密解密

    "java实现文件加密解密" Java 实现文件的加密与解密是指利用 Java 语言将资源文件(包括图片、动画等类型)进行简单的加密和解密。这种策略的原因和好处是将准备好的资源存储在云上,使用时通过网络进行读取即可,...

    java使用Hex编码解码实现Aes加密解密功能示例

    在本文示例中,我们关注的是如何利用Java的Hex编码和解码来处理AES加密和解密的过程。 首先,让我们了解什么是Hex编码。Hex编码是一种将二进制数据转换为可打印字符的表示方式,每个字节被转换为两个十六进制数字...

    RSA加密解密示例工程

    RSA加密解密示例工程是一个专门针对Android平台设计的学习资源,旨在帮助开发者深入理解并实践RSA加密算法。RSA,全称Rivest-Shamir-Adleman,是一种非对称加密技术,广泛应用于网络安全、数据保护等领域。该示例...

    SM2加密解密java代码完整示例

    国产加密算法SM2加密解密java代码完整示例。里面有加密解密的示例,生成秘钥的示例,本人亲测有效。默认maven环境编译。若无maven环境,里面也上传了相关依赖jar包。

    JAVA加密解密

    描述中提到的“博文链接”指向了ITEYE博客上的一篇文章,虽然具体内容未提供,但我们可以推断文章可能涉及了Java加密解密的实际应用、代码示例以及可能遇到的问题和解决方案。 标签"源码"暗示我们可能会看到一些...

    Java加密解密

    以下是一个简单的RSA加密解密示例: ```java import java.security.*; import javax.crypto.Cipher; public class RSAExample { public static KeyPair generateKeyPair() throws NoSuchAlgorithmException { ...

    java和javascript之间的DES加密解密

    Java和JavaScript之间的DES加密解密是信息安全领域中的一个重要话题,主要涉及到数据的保护和通信的安全。DES(Data Encryption Standard)是一种古老的对称加密算法,尽管它在安全性上已不被视为最佳选择,但在某些...

    Java AES256加密解密示例代码

    Java AES256加密解密示例代码 Java AES256加密解密示例代码主要介绍了Java AES256加密解密示例代码,通过示例代码对大家的学习或者工作具有一定的参考学习价值。 什么是 AES 256? 高级加密标准(英语:Advanced ...

    Rsa加密解密.rar_RSA 加密解密_java rsa_rsa加密_rsa加密java_加密 解密

    在提供的压缩包文件中,"www.pudn.com.txt"可能包含了关于RSA加密解密的代码示例或相关资源,而"Rsa加密解密"可能是一个包含具体实现的Java源代码文件。这些文件可以帮助读者深入理解RSA加密解密的Java实现,并提供...

    Java 公钥和私钥加密解密代码

    在Java编程语言中,公钥和私钥加密解密是一种重要的安全技术,广泛应用于网络通信、数据传输等领域。本文将详细解析如何使用Java实现公钥和私钥的加解密操作,以及相关的关键概念和代码示例。 首先,我们要了解公钥...

Global site tag (gtag.js) - Google Analytics