`
lhb3015
  • 浏览: 9860 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

AES加密简密算法1

阅读更多
package com.Dao;

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;

public class EncryptUtil
{
    /**
     * AES加密算法
     *
     * @param sSrc
     * @param sKey
     * @return
     * @throws Exception [参数说明]
     *
     * @return String [加密后字符串]
     * @exception throws [违例类型] [违例说明]
     * @see [类、类#方法、类#成员]
     * @author
     */
    public static String encrypt(String sSrc, String sKey)
        throws Exception
    {
        if (null == sKey || null == sSrc)
        {
            return null;
        }
       
        byte[] raw = sKey.getBytes("ASCII");
        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
        Cipher cipher = Cipher.getInstance("AES");
        cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
        byte[] encrypted = cipher.doFinal(sSrc.getBytes());
       
        return byteTS(encrypted).toLowerCase();
       
    }
   
    /**
     * AES解密算法
     *
     * @param sSrc
     * @param sKey
     * @return
     * @throws Exception [参数说明]
     *
     * @return String [解密后字符串]
     * @exception throws [违例类型] [违例说明]
     * @see [类、类#方法、类#成员]
     * @author
     */
    public static String decrypt(String sSrc, String sKey)
        throws Exception
    {
        try
        {
            // 判断Key是否正确
            if (null == sKey || null == sSrc)
            {
                return null;
            }
            byte[] raw = sKey.getBytes("ASCII");
            SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
            Cipher cipher = Cipher.getInstance("AES");
            cipher.init(Cipher.DECRYPT_MODE, skeySpec);
            byte[] encrypted1 = sTByte(sSrc);
            try
            {
                byte[] original = cipher.doFinal(encrypted1);
                String originalString = new String(original);
                return originalString;
            }
            catch (Exception e)
            {
                return null;
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
分享到:
评论

相关推荐

    用C语言实现的AES加密解密算法

    1. **密钥扩展**:AES加密需要一个密钥,但这个密钥不能直接用于加密,需要通过一个密钥扩展算法将其扩展为多轮所需的轮密钥。 2. **状态矩阵**:AES处理的数据被组织成4x4的字节矩阵,称为状态。加密和解密过程中...

    QT 实现AES 加密算法

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

    C#实现AES加密解密算法

    ### C# 实现 AES 加密解密算法 #### 概述 在计算机科学与信息安全领域,数据加密技术是一项至关重要的技术。AES(Advanced Encryption Standard,高级加密标准)是一种广泛使用的对称加密算法,用于保护敏感数据的...

    aes加密算法delphi

    ### AES加密算法在Delphi中的实现 AES(Advanced Encryption Standard,高级加密标准)是一种对称加密算法,被广泛应用于数据安全领域。它采用固定的数据块大小(128位),支持128、192或256位密钥长度。在Delphi中...

    AES加密算法(C++实现,附源码)

    AES加密算法,全称为Advanced Encryption Standard,是一种广泛应用的对称加密技术,用于保护数据的机密性。在C++环境中实现AES加密算法,通常涉及到的关键概念包括密钥、明文、密文、加密过程和解密过程。源码中...

    AES加密解密算法

    实现的AES加密解密算法,高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥

    AES加密算法详解 AES加密算法详解大全

    AES加密算法详解 AES加密算法是当前最流行和最安全的对称加密算法之一,也是美国国家标准技术研究所(NIST)指定的高级加密标准(AES)。AES加密算法的设计原则是能够抵抗所有已知的攻击,在各种平台上易于实现,...

    AES加密解密算法 iOS和Android完美实现

    AES,全称Advanced Encryption Standard,即高级加密标准,是一种广泛应用于现代电子设备的对称加密算法,用于保护数据的安全性。在iOS和Android平台上实现AES加密解密是开发者经常遇到的任务,尤其对于需要跨平台...

    AES加密算法详解.ppt

    AES 加密算法详解 AES 加密算法是目前最流行的对称加密算法之一,由比利时 cryptographer Joan Daemen 和 Vincent Rijmen 设计。AES 加密算法的主要特点是高效、安全、灵活,可以应用于各种加密场景。 一、AES ...

    AES加密算法演示程序 VB6.0 源码

    1. **密钥和初始向量的生成**:AES的加密过程需要一个密钥,根据不同的AES模式(如ECB、CBC、CFB等),可能还需要一个初始向量。密钥的长度可以是128位、192位或256位,而初始向量在某些模式下用于增加加密的随机性...

    AES加密算法Dll

    AES加密算法Dll是一个用于在项目中实现AES加密功能的动态链接库(Dll)文件。AES,全称为“高级加密标准”(Advanced Encryption Standard),是一种广泛应用于数据加密的标准算法,尤其在网络安全、数据保护和隐私...

    VB6-AES加密算法源码.rar

    VB6-AES加密算法源码是一个用于VB6(Visual Basic 6)开发环境的加密工具,它实现了AES(Advanced Encryption Standard)加密标准。AES是一种广泛使用的对称加密算法,为数据提供高强度的安全保护。该源码经过验证,...

    基于ARM嵌入式系统的AES加密算法实现

    ### 基于ARM嵌入式系统的AES加密算法实现 #### 概述 随着信息技术的快速发展及互联网的应用普及,信息安全成为了一个不容忽视的问题。在这一背景下,《基于ARM嵌入式系统的AES加密算法实现》这篇文章详细介绍了...

    AES加密解密算法转换工具,最大支持256bit长度的密钥.rar

    AES加密解密轮转算法工具,最大支持256bit长度的密钥,明文支持HEX和字串。可供学习设计参考。

    Matlab实现AES加密算法1

    本教程主要关注如何在MATLAB环境中实现AES加密算法,适合本科及硕士级别的学生进行教研学习。 首先,我们来看一下提供的文件: 1. `ASE_key.m`:这个文件可能包含了生成AES密钥的函数。AES的密钥长度可以是128、...

    AES.rar_AES_AES 加密算法_AES 加密解密算法_AES加密算法_加密算法源码

    **AES(Advanced Encryption Standard)**,中文名为高级加密标准,是一种广泛应用的块密码算法,用于保护数据的安全。它由NIST(美国国家标准与技术研究院)在2001年正式采纳,取代了之前的DES(数据加密标准)成为...

    基于FPGA的AES加密算法密码模块

    **AES加密算法** AES,全称为“高级加密标准”(Advanced Encryption Standard),是目前广泛使用的对称加密算法,尤其在硬件实现中,如FPGA(Field-Programmable Gate Array)上,其高速、高效的特点得到了广泛...

    AES加密算法[参照].pdf

    AES 加密算法详解 AES 加密算法是美国国家标准与技术研究所用于加密电子数据的规范。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。AES 使用128、192 和 256 位密钥,并且用128 位(16 字节)...

    AES_AES_

    **AES (高级加密标准) 算法详解** AES(Advanced Encryption Standard)是现代密码学中最常用、最安全的块密码之一,它以其高效、灵活和强大的安全性在全球范围内被广泛应用于数据加密。AES是由NIST(美国国家标准...

    AES加密算法(附带教程)

    本教程旨在通过简洁明了的方式,帮助你理解和掌握AES加密算法。 首先,AES的工作原理基于替换和置换两大部分,包括字节代换、行移位、列混淆和轮密钥加四个步骤。这些操作在128位的数据块(称为状态)上进行,其中...

Global site tag (gtag.js) - Google Analytics