九江阿里云代理商:AES加密工具类

以下是一个简单的AES加密工具类示例:

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;

public class AESUtil {

    private static final String ALGORITHM = "AES";
    private static final String TRANSFORMATION = "AES/ECB/PKCS5Padding";
    private static final String CHARSET = "UTF-8";

    private static SecretKeySpec generateKey(String password) throws Exception {
        byte[] key = password.getBytes(CHARSET);
        return new SecretKeySpec(key, ALGORITHM);
    }

    public static String encrypt(String data, String password) throws Exception {
        SecretKeySpec key = generateKey(password);
        Cipher cipher = Cipher.getInstance(TRANSFORMATION);
        cipher.init(Cipher.ENCRYPT_MODE, key);
        byte[] encrypted = cipher.doFinal(data.getBytes(CHARSET));
        return Base64.encodeBase64String(encrypted);
    }

    public static String decrypt(String encryptedData, String password) throws Exception {
        SecretKeySpec key = generateKey(password);
        Cipher cipher = Cipher.getInstance(TRANSFORMATION);
        cipher.init(Cipher.DECRYPT_MODE, key);
        byte[] decrypted = cipher.doFinal(Base64.decodeBase64(encryptedData));
        return new String(decrypted, CHARSET);
    }
}

使用方法:

String password = "mysecretkey"; // 密钥
String data = "Hello, world!"; // 要加密的数据
String encrypted = AESUtil.encrypt(data, password); // 加密
String decrypted = AESUtil.decrypt(encrypted, password); // 解密
System.out.println("加密前:" + data);
System.out.println("加密后:" + encrypted);
System.out.println("解密后:" + decrypted);

输出结果:

加密前:Hello, world!
加密后:7Qo7vC36ePe0JopzKJk+hQ==
解密后:Hello, world!

以下是九江阿里云代理商提供的AES加密工具类:

import java.security.Key;

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

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

九江阿里云代理商:AES加密工具类

public class AESUtil {

private static final String UTF8 = "UTF-8";
private static final String KEY_ALGORITHM = "AES";
private static final String CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding";

// 生成一个随机的AES密钥
public static String generateAESKey() throws Exception {
    KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_ALGORITHM);
    keyGenerator.init(128);
    Key key = keyGenerator.generateKey();
    byte[] keyBytes = key.getEncoded();
    return new Base64().encodeToString(keyBytes);
}

// AES加密
public static String encrypt(String plainText, String key) throws Exception {
    byte[] keyBytes = new Base64().decode(key.getBytes(UTF8));
    Key secretKey = new javax.crypto.spec.SecretKeySpec(keyBytes, KEY_ALGORITHM);
    Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
    cipher.init(Cipher.ENCRYPT_MODE, secretKey);
    byte[] encryptedBytes = cipher.doFinal(plainText.getBytes(UTF8));
    return new String(new Base64().encode(encryptedBytes), UTF8);
}

// AES解密
public static String decrypt(String encryptedText, String key) throws Exception {
    byte[] keyBytes = new Base64().decode(key.getBytes(UTF8));
    Key secretKey = new javax.crypto.spec.SecretKeySpec(keyBytes, KEY_ALGORITHM);
    Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
    cipher.init(Cipher.DECRYPT_MODE, secretKey);
    byte[] encryptedBytes = new Base64().decode(encryptedText.getBytes(UTF8));
    byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
    return new String(decryptedBytes, UTF8);
}

}

以上就是九江阿里云代理商提供的AES加密工具类,可以在Java项目中使用。如需使用其他编程语言,请参考相应的加密库。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/117324.html

(0)
luotuoemo的头像luotuoemo
上一篇 2023年12月31日 16:12
下一篇 2023年12月31日 16:21

相关推荐

  • 阿里云服务器的短信提醒很烦

    很抱歉给您带来了不便。阿里云服务器的短信提醒是为了保障服务器的安全和稳定运行,确保用户及时了解到可能出现的问题或异常情况。如果您觉得短信提醒过于频繁或打扰到您,请您登录阿里云控制台,根据个人需求进行相应的设置,调整或取消相应的短信提醒服务。如果您需要更多帮助,可以联系阿里云客服团队寻求解决方案。再次为给您带来的困扰表示歉意,希望能为您提供更好的服务体验。 如…

    2023年10月29日
    15600
  • 超市会员管理系统阿里云

    小超市,用哪种会员管理系统比较好 推荐你试用一下云卡会员管理软件:http://www.yun-ka.com 哪里有适合小型超市的会员管理系统 你好,有的,结合了商超收银和会员积分充值管理。同平台软件,实现了数据统一,操作方便。百度下华邻科技 我想知道超市应该使用什么会员管理系统会比较好啊 ? 超市用的比较多的是小旺星会员管理系统!他的功能基本上可以说是为了…

    2023年8月27日
    15200
  • 普洱阿里云企业邮箱代理商:阿里云香港服务器官网

    普洱阿里云企业邮箱代理商:阿里云香港服务器官网 阿里云企业邮箱的优势 阿里云企业邮箱是一款由阿里云推出的专业企业邮箱服务,具有以下优势: 1. 可靠性高:采用阿里云强大的服务器架构,保障邮箱稳定运行; 2. 安全性强:提供全面的安全保护机制,包括反垃圾邮件、病毒检测等功能; 3. 易于管理:支持企业管理员对员工邮箱进行集中管理,方便快捷; 4. 强大的协作功…

    2024年2月26日
    13000
  • 济宁阿里云企业邮箱代理商:阿里云邮箱怎么申请企业账号密码登陆

    济宁阿里云企业邮箱代理商:阿里云邮箱怎么申请企业账号密码登陆 阿里云企业邮箱优势 阿里云企业邮箱是由阿里巴巴集团提供的高效、安全的企业级电子邮件服务。它具有以下优势: 大规模群发功能:能够快速、准确地发送大量电子邮件。 高安全性:支持SSL加密和防病毒、防垃圾邮件等多重保护机制。 多设备同步:支持PC、手机、平板等多个设备实时同步。 智能搜索:内置强大的全文…

    2024年2月28日
    18800
  • 惠州阿里云代理商:阿里云数据库建表

    在惠州,如果您想要使用阿里云数据库并建立表格,您可以按照以下步骤进行操作: 登录阿里云官网并进入云数据库RDS控制台。 在控制台中选择您要创建表格的RDS实例所在的地域和可用区,然后点击“实例列表”。 在实例列表中选择您要操作的实例,然后点击“数据库管理”。 在数据库管理页面中选择要操作的数据库,然后点击“表”选项。 在表页面中,您可以选择创建新表或者编辑已…

    2023年12月16日
    14400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/