九江阿里云代理商: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

相关推荐

  • 阿里云企业邮箱:为什么需要邮件客户端指纹识别?

    阿里云企业邮箱:为什么需要邮件客户端指纹识别? 引言 在当今信息化时代,电子邮件已经成为企业沟通和信息传递的重要工具。阿里云企业邮箱凭借其强大的功能和安全性,成为众多企业的首选。本文将探讨阿里云企业邮箱的优势,并深入分析邮件客户端指纹识别的重要性。 阿里云企业邮箱的优势 1. 高效稳定的服务 阿里云企业邮箱依托阿里巴巴强大的云计算平台,提供高效稳定的邮件服务…

    2025年4月9日
    7300
  • xshell连接阿里云服务器失败

    连接阿里云服务器失败可能有多种原因。以下是一些可能的解决方法: 检查网络连接:确保您的网络连接正常,尝试连接其他网站或服务,看看是否能成功连接。 检查阿里云服务器的状态:确认您的阿里云服务器是否处于运行状态。您可以登录到阿里云管理控制台,在服务器实例中查看服务器的状态。 检查服务器的安全组规则:确保您的服务器的安全组规则允许从您的IP地址或指定的IP地址范围…

    2023年10月27日
    24400
  • 阿里云服务器数据备份本地文件在哪

    阿里云服务器,如何把数据备份到本地? 服务器上计划任务+MySQLdump备份数据到指定目录    2.本地计划任务+scpy拷贝服务器上的备份 如何备份阿里云服务器数据到本地 如果是空间站点的,上传个phpmyadmin登陆后导出sql格式如果是服务器的,进入命令行mysqldump导出sql备份。 阿里云上传到云服务器哪个文件夹 需要你先在云主机里面架设…

    2023年8月28日
    18800
  • 九江阿里云代理商:阿里云申请免费ssl

    九江的阿里云代理商可以帮助您申请阿里云免费SSL证书。您可以联系当地的阿里云代理商,提供您的需求和域名信息,他们将指导您完成申请过程。下面是一般的申请流程: 注册阿里云账号:如果您还没有阿里云账号,需要先注册一个账号。 登录阿里云官网:使用您的账号登录阿里云官网。 选择SSL证书产品:在控制台中选择SSL证书,可以看到备选的证书产品。 填写申请信息:根据您的…

    2023年12月19日
    18900
  • 阿里云物联网产品配网方式

    阿里云cdn 怎么配置https 阿里云(SLB/CDN/WAF) SSL证书安装配置指南https://www.wosign.com/faq/faq-aliyun-ssl.htm 物联网有哪些网络传输方式 有线,无线电,卫星,红外线等电话智能终端,电脑,遥控,声控,等 阿里云rds 内网ip怎么配置到db.php中 阿里云的rds内网地址,使用域名,不是I…

    2023年8月28日
    18300

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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