`

加密算法

 
阅读更多

package com.ericsson.dve.custom.authenticationplugin;

 

import java.io.IOException;

import java.security.InvalidKeyException;

import java.security.NoSuchAlgorithmException;

import java.security.Security;

import java.util.Scanner;

 

import javax.crypto.BadPaddingException;

import javax.crypto.Cipher;

import javax.crypto.IllegalBlockSizeException;

import javax.crypto.NoSuchPaddingException;

import javax.crypto.SecretKey;

import javax.crypto.spec.SecretKeySpec;

 

import org.apache.commons.codec.binary.Base64;

 

 

public class Encyptor {

 

    private Cipher c;  

    private static byte[] caay = {99, 61, 84, -69, 84, 56, -42, 114, -10, 124, 31, -48, -27, 3, 40, 56};

    private  SecretKey cay;

      

    public Encyptor() throws NoSuchAlgorithmException, NoSuchPaddingException{  

        Security.addProvider(new com.sun.crypto.provider.SunJCE());  

        cay = new SecretKeySpec(caay, "AES");

        c = Cipher.getInstance("AES");  

    }  

      

    /** 

     *

     *  

     * @param str 

     * @return 

     * @throws InvalidKeyException 

     * @throws IllegalBlockSizeException 

     * @throws BadPaddingException 

     */  

    public String Encrytor(String str) throws InvalidKeyException,  

            IllegalBlockSizeException, BadPaddingException {  

 

        c.init(Cipher.ENCRYPT_MODE, cay);  

        byte[] src = str.getBytes();  

       

        byte[] cipherByte = c.doFinal(src);  

  

        String  base64Byte =  new String(Base64.encodeBase64(cipherByte));

        return base64Byte;  

    }  

  

    /** 

     * 对字符串解密 

     *  

     * @param buff 

     * @return 

     * @throws InvalidKeyException 

     * @throws IllegalBlockSizeException 

     * @throws BadPaddingException 

     * @throws IOException 

     */  

    public String Decryptor(String encpytedCode) throws InvalidKeyException,  

            IllegalBlockSizeException, BadPaddingException, IOException {  

      

        c.init(Cipher.DECRYPT_MODE, cay);  

 

        byte[]  base64Byte = Base64.decodeBase64(encpytedCode.getBytes());

        byte[] cipherByte = c.doFinal(base64Byte);  

        return new String(cipherByte);  

    }  

  

    /** 

     * @param args 

     * @throws NoSuchPaddingException  

     * @throws NoSuchAlgorithmException  

     * @throws BadPaddingException  

     * @throws IllegalBlockSizeException  

     * @throws InvalidKeyException  

     */  

    public static void main(String[] args) {  

   

       // String msg ="郭XX-搞笑相声全集";  

//    String msg ="secret";

//        System.out.println("text:" + msg);  

//        String encypted;

//try {

//encypted = new Encyptor().Encrytor(msg);

//System.out.println("after encode: " + new Encyptor().Encrytor(msg));  

//    System.out.println("after decode: " + new Encyptor().Decryptor(encypted));  

//} catch (Exception e) {

//e.printStackTrace();

//}

 

System.out.println("please input password, please input 'exit' to exit");

Scanner scan = new Scanner(System.in);

        while(scan.hasNext()){

        String s = scan.next();

        if("exit".equalsIgnoreCase(s)){

        break;

        }

       

        try {

String encypted  = new Encyptor().Encrytor(s);

System.out.println("after encode: " + new Encyptor().Encrytor(s));  

   System.out.println("after decode: " + new Encyptor().Decryptor(encypted));  

} catch (Exception e) {

e.printStackTrace();

}

       

        }

        scan.close();

    }  

}

 

分享到:
评论

相关推荐

    密码学实验_对称加密算法DES_非对称加密算法RSA.pdf

    本实验报告主要涉及两种加密算法:对称加密算法DES(Data Encryption Standard)和非对称加密算法RSA。实验旨在帮助学生深入理解这两种算法的基本原理,并通过Python编程实现加密和解密过程。 ### **对称加密算法...

    twofish加密算法的实现源代码(含详细文档)

    本项目涉及到的主要知识点是“Twofish加密算法”以及它的C语言实现。Twofish是一种强大的对称密钥加密算法,由Bruce Schneier及其团队在1998年设计,作为DES和AES的替代方案。它在安全性、效率和灵活性方面表现出色...

    QT 实现AES 加密算法

    在QT中实现AES(Advanced Encryption Standard)加密算法,可以帮助开发者确保数据的安全性,防止未授权的访问和篡改。AES是目前国际上广泛采用的一种块密码标准,因其高效性和安全性而备受推崇。 AES加密算法基于...

    DES加密算法实验

    ### DES加密算法实验知识点 #### 一、实验背景与目的 **DES(Data Encryption Standard)加密算法**是一种经典的对称加密技术,在信息安全领域占据着重要地位。本实验旨在通过实践操作,加深对DES算法工作原理的...

    DES加密算法(c语言实现)

    DES(Data Encryption Standard)是一种经典的对称加密算法,由IBM公司于1970年代初期设计,1977年被美国国家标准局(NIST)采纳为联邦信息处理标准(FIPS PUB 46),并在全球范围内广泛使用。DES算法基于Feistel...

    OpenSSL对称加密算法中如何添加新算法

    OpenSSL 对称加密算法中如何添加新算法 OpenSSL 是一个开源的加密算法库,它提供了对称加密算法、非对称加密算法、哈希算法等多种加密算法。OpenSSL 的对称加密算法中可以添加新算法,以满足不同的加密需求。下面...

    加密算法源码.zip信息安全技术,加密算法源码

    在信息安全领域,加密算法是保护数据隐私和网络安全的重要工具。加密算法源码是实现这些算法的编程代码,它能够帮助我们理解加密过程的内部工作原理,并可以用于开发自定义的安全解决方案。下面,我们将深入探讨加密...

    字符串加密算法

    在IT领域,字符串加密算法是保护信息安全的重要手段。本文将深入探讨两个常见的对称加密算法:AES(高级加密标准)和BlowFish,并结合Qt框架介绍如何实现它们的加密和解密功能。同时,我们将讨论如何将这些算法封装...

    分组加密算法

    分组加密算法 分组加密算法是对称加密算法的一种,使用相同的密钥来实现加密和解密。以 DES 加密算法为例,掌握分组加密算法加密、解密的过程实现。 一、加密过程 1. 初始化密钥:使用 KeyGenerator 类创建对称...

    常见加密算法方式(对称加密和非对称加密)

    ### 加密算法概述 加密技术是信息安全领域中的关键技术之一,主要用于保护数据的机密性和完整性。根据加密过程中使用的密钥类型,加密算法大致可以分为两大类:**对称加密算法**和**非对称加密算法**。此外,还有一...

    RSA加密算法实验报告.pdf

    "RSA加密算法实验报告.pdf" 本实验报告主要介绍了RSA加密算法的实现和原理,包括密钥对的产生、加密和解密过程、数字签名等。下面是该实验报告的详细知识点总结: 一、RSA加密算法的原理 RSA加密算法是基于大数...

    加密算法及其应用

    ### 加密算法及其应用 #### 一、加密算法简介 加密技术是信息安全领域的核心组成部分,其目的是保护数据的隐私性和完整性。加密算法是实现这一目标的关键工具,它们通过对原始数据进行数学运算,将数据转化为不可...

    C#加密算法类库

    C#加密算法类库是一个专为.NET开发者设计的工具,它包含了多种常见的加密算法实现,以便在C#项目中方便地进行数据加密和解密。这个类库通常以.dll文件的形式提供,允许开发者通过引用该文件来直接使用其封装好的加密...

    Paillier半同态加密算法的原理、高效实现方法和应用.pdf

    Paillier半同态加密算法的原理、高效实现方法和应用 Paillier半同态加密(Partially Homomorphic Encryption,PHE)是隐私计算技术中的一个重要组件,能够对加密数据进行计算,如加法和乘法,而计算过程不会泄露...

    csp加密算法的实现

    CSP加密算法的实现 CSP(Cryptographic Service Provider)加密算法是一种常用的加密方式,该算法基于公钥密码体制,使用对称加密和非对称加密相结合的方式来实现加密和解密操作。在本文中,我们将详细介绍CSP加密...

    常见加密算法c++源代码

    在IT领域,加密算法是信息安全的核心组成部分,它们用于保护数据的隐私性和完整性。C++是一种通用的、面向对象的编程语言,广泛应用于系统软件、应用软件、设备驱动、游戏开发等,因此用C++实现加密算法是常见的做法...

    京东登陆加密算法

    京东登陆加密算法供学习参考24小时内删除,请勿用于非法之事,否则后果自负与作者无关

Global site tag (gtag.js) - Google Analytics