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

相关推荐

  • 腾讯云短信服务购买流程

    腾讯云短信服务购买流程如下: 登录腾讯云官网,在控制台中找到短信服务,点击进入。 在短信服务页面,点击“立即购买”按钮。 在购买页面中选择短信套餐和短信使用方式(API接入或控制台发送),然后点击“立即下单”。 在订单确认页面中,确认购买信息和费用,并选择付款方式。 确认无误后,点击“提交订单”。 根据所选付款方式完成支付。 支付成功后,会收到订单确认短信和…

    2023年10月22日
    16500
  • 兰州阿里云代理商:啊里邮箱企业版

    阿里邮箱企业版是一种高效的企业级邮件解决方案,由阿里云提供支持。兰州的阿里云代理商可以为当地企业提供阿里邮箱企业版的销售和服务。 阿里邮箱企业版采用云端架构,可提供稳定、安全、高效的企业邮件服务。它具有以下主要特点: 高安全性:采用全球领先的安全技术,多层次防护企业邮箱安全。支持安全登录、安全邮件发送和接收,有效防御各类垃圾邮件、病毒邮件和钓鱼邮件。 高可靠…

    2024年1月24日
    20500
  • 阿里云大型直播平台 接入 实战

    阿里云大型直播平台接入实战主要包括以下步骤: 注册和开通阿里云直播服务:前往阿里云官网注册账号,并开通和购买阿里云直播服务。 创建一个直播频道:在阿里云直播控制台上创建一个直播频道,设置频道的相关参数包括频道名称、描述、推流域名等。 获取推流地址和播放地址:在频道创建成功后,可以获取到频道的推流地址和播放地址,推流地址用于推送视频流,播放地址则用于观看直播。…

    2023年10月27日
    18300
  • 阿里云企业邮箱:阿里云企业邮箱如何提高邮件送达率?‌

    阿里云企业邮箱:阿里云企业邮箱如何提高邮件送达率? 随着企业数字化转型的加速,电子邮件依然是企业沟通的核心工具之一。尤其对于跨区域、跨国的企业来说,确保邮件能够及时送达是至关重要的。而阿里云企业邮箱以其优质的服务和强大的技术支撑,成为了很多企业的首选。本文将从阿里云企业邮箱的优势出发,探讨其如何帮助企业提高邮件送达率,确保重要信息无缝传递。 阿里云企业邮箱的…

    2025年4月18日
    1900
  • 昆明阿里云代理商:阿里网站防护怎么提高

    要提高阿里网站的防护,可以从以下方面入手: 使用防火墙:安装防火墙有助于阻止恶意请求和攻击者的入侵。防火墙可以过滤出站和入站的流量,以保护您的网站免受恶意请求的攻击。 搭建DDoS防护:DDoS攻击是目前最常见的攻击方式之一。阿里云提供了专业的DDoS防护服务,可以通过将流量转移到云端再进行分析和拦截,以保护您的网站不受影响。 加强密码强度:使用更强的密码可…

    2023年12月14日
    15900

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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