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

对称加密demo

 
阅读更多

package com;

import   javax.crypto.Cipher;   

import   javax.crypto.KeyGenerator;     

import   javax.crypto.SecretKey;   

 

 

public class DES {

 

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

try{

 KeyGenerator   kg   =   KeyGenerator.getInstance("DESede");   //获取密匙生成器    

 SecretKey   key   =   kg.generateKey();   //生成密匙,可用多种方法来保存密匙   

 Cipher   cp   =   Cipher.getInstance("DESede");   //创建密码器   

 cp.init(Cipher.ENCRYPT_MODE,   key);   //初始化 第一个参数:为1时为加密,为2时为解密  

 String   str   =   "DESede对称密码体系";   

 byte   []   ptext   =   str.getBytes("GBK");   

 byte   []   ctext   =   cp.doFinal(ptext);//加密 

 System.out.println("密钥是:"+new String(key.getEncoded(),"GBK"));

 System.out.println("密文是:"+new String(ctext,"GBK"));

 cp.init(Cipher.DECRYPT_MODE,   key); //初始化 第一个参数:为1时为加密,为2时为解密

 byte   []   mtext   =   cp.doFinal(ctext);   //解密   

   

 String   result   =   new   String(mtext,   "GBK");   

 

 System.out.println("明文是:"+result);

}catch(Exception e){

e.printStackTrace();

}

}

 

}








package com;

import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;

import javax.crypto.Cipher;

public class RSA {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

try{
KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); //创建‘密匙对’生成器

KeyPair kp = kpg.genKeyPair();
PublicKey public_key = kp.getPublic(); //获得公匙
PrivateKey private_key = kp.getPrivate(); //获得私匙
 Cipher   cp   =   Cipher.getInstance("RSA");   //创建密码器   
 cp.init(Cipher.ENCRYPT_MODE,   public_key);   //初始化 第一个参数:为1时为加密,为2时为解密   
 String   str   =   "RSA非对称密码体系";   
 byte   []   ptext   =   str.getBytes("GBK");   
 byte   []   ctext   =   cp.doFinal(ptext); //加密

 cp.init(Cipher.DECRYPT_MODE,   private_key); //初始化 第一个参数:为1时为加密,为2时为解密  
 byte   []   mtext   =   cp.doFinal(ctext);   //解密  
 System.out.println("公钥是:"+new String(public_key.getEncoded(),"GBK"));
 System.out.println("私钥是:"+new String(private_key.getEncoded(),"GBK"));
 System.out.println("秘文是:"+new String(ctext,"GBK"));
 String   result   =   new   String(mtext,   "GBK");   
 
 System.out.println("明文是:"+result);
}catch(Exception e){
e.printStackTrace();
}
}

}

分享到:
评论

相关推荐

    Java密码学对称加密Demo

    总结来说,"Java密码学对称加密Demo"涵盖了Java环境中使用对称加密算法进行数据安全传输的基础知识,包括JCA的使用、密钥生成、加密解密流程,以及可能涉及的块加密概念。这个Demo对于理解Java密码学和信息安全有...

    java非对称加密demo(秘钥文件\字符秘钥)

    在本非对称加密Demo中,我们重点探讨的是如何在Java环境中实现这一技术,并且涉及了秘钥文件的生成以及字符转换秘钥的方法。 首先,非对称加密的基本原理是:公钥用于加密数据,而私钥用于解密数据。这样,即使公钥...

    Java-Js双向Des对称加密Demo

    本示例"Java-Js双向Des对称加密Demo"提供了在Java和JavaScript两个平台间实现DES加密解密的互操作性。下面将详细阐述DES加密解密的核心原理、Java和JavaScript的实现细节以及如何在两者之间进行兼容。 DES是一种块...

    C#对称加密和非对称加密的Demo

    总结,"C#对称加密和非对称加密的Demo"涵盖了C#编程中的重要安全技术。通过对`TdesEncryptExample`和`RsaEncryptExample`代码的学习,开发者可以深入理解这两种加密机制,并在自己的项目中灵活运用,提升数据的安全...

    java加密算法:Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法

    java关于加密的算法demo代码(Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法) JAVA安全实现三种方式: 1.JDK 2.Commons Codec 3.Bouncy Castle 一。非对称加密算法: 1.DH 2.RSA 3.ELGamal 二。...

    aes对称加密vue版本demo

    **Vue版本的AES加密DEMO** Vue.js 是一个用于构建用户界面的渐进式框架,其核心库专注于视图层,易于上手且功能强大。在Vue项目中,实现AES加密通常需要借助外部库,如`CryptoJS`,这是一个JavaScript实现的各种...

    rsa-非对称加密-demo

    在本文中,我们将深入探讨RSA算法的工作原理、实现步骤,并结合给定的"rsa_demo"项目,了解如何在实际开发环境中运用RSA进行非对称加密。 RSA的核心概念包括公钥和私钥。公钥可以公开,用于加密信息,而私钥必须...

    根据BASE64Decoder的对称加密的demo

    在这个“根据BASE64Decoder的对称加密的demo”中,我们将探讨如何利用Base64编码和对称加密技术进行数据的安全传输。 Base64是一种将二进制数据转换为可打印ASCII字符的编码方式,常用于电子邮件系统和网络传输,...

    java加密、加密demo

    非对称加密如RSA适合于小量数据加密,而大量的数据更适合使用对称加密(如AES)。哈希算法如MD5、SHA256和SHA512则用于数据完整性校验和密码存储(通常配合盐值)。 总之,Java加密技术是保护数据安全的关键工具,...

    openssl测试对称加密和非对称加密以及数字签名测试demo,打开文件即可

    在这个压缩包文件中,我们可以看到一个关于OpenSSL的测试项目,用于演示对称加密、非对称加密和数字签名的用法。接下来,我们将详细探讨这些概念及其在C++中的实现。 首先,对称加密是一种简单而快速的加密方式,它...

    简单AES加密demo

    标题 "简单AES加密demo" 涉及到的是一个关于数据加密的示例,主要使用了AES(Advanced Encryption Standard)算法。AES是一种广泛使用的对称密钥加密标准,它为电子数据提供了高度的安全保障。在描述中提到,这个...

    android jni 加密demo

    在这个"android jni 加密demo"中,开发者使用JNI来实现多种加密算法,包括RSA、3DES、AES、MD5以及BASE64,这些都是信息安全领域常用的加密和哈希方法。以下是对这些技术的详细解释: 1. **RSA**:RSA是一种非对称...

    用.NET非对称加密算法实例

    ### 使用.NET非对称加密算法实例 #### 一、引言 非对称加密是一种重要的加密方式,在现代信息安全领域有着广泛的应用。与对称加密不同的是,非对称加密使用一对密钥:公钥和私钥。公钥可以公开分发,而私钥则必须...

    RSA非对称加密解密Delphi源码

    RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,是现代密码学的基石之一。这种加密方式使用了一对密钥,即公钥和私钥,使得信息的加密和解密过程可以独立进行。在RSA算法中,...

    aes-example-master 加密插件,前端和java后端对称加密解密DEMO,有需要小伙伴可以下载

    本文将深入探讨基于AES(Advanced Encryption Standard)的加密插件,这是一个广泛应用于前端和后端的对称加密标准。AES-example-master项目是一个实例,它演示了如何在JavaScript和Java之间进行加密和解密操作,...

    C#RSA加密DEMO

    RSA是一种非对称加密算法,它的特点是拥有两个密钥:公钥和私钥,分别用于加密和解密。 在这个"C# RSA加密DEMO"中,我们主要关注如何在C#环境中使用RSA加密。首先,我们需要理解RSA的基本工作原理。RSA基于大数因子...

    RSA加密解密Demo

    RSA加密解密是一种广泛应用于网络安全领域的非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因此得名RSA。这种算法基于大素数的因式分解难题,使得只有拥有正确密钥的人才能解密信息,...

    RSA非对称加密验签参考demo

    在"RSA非对称加密验签参考demo"中,私钥用于加密数据,确保只有持有对应私钥的人才能解密信息,从而实现数据的安全交互。公钥则用于解密由私钥加密的数据,这样即使数据在传输过程中被截取,也无法被未经授权的第三...

    mssql对称加密以及对存储过程加密

    在SQL Server 2005和2008版本中,对称加密是数据库安全领域一个重要的技术。本文将详细探讨使用证书与不使用证书来进行对称加密的方法,以及如何对存储过程进行加密。 ### 一、使用证书进行对称加密 首先来看使用...

    臻识摄像机加密Demo

    "臻识摄像机加密Demo"是一个专注于视频监控领域安全性的软件示例,主要涉及的是VzPlate解密功能。在IT行业中,摄像机加密是非常重要的一环,它确保了视频数据在传输和存储过程中的隐私性和完整性。VzPlate Decrypt ...

Global site tag (gtag.js) - Google Analytics