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

相关推荐

  • 金华阿里云代理商:asp.net网站架设

    在金华地区拥有阿里云代理商的公司,可以帮助您将asp.net网站架设在阿里云上。下面是一些一般步骤,您可以参考: 如果您还没有购买阿里云服务,您需要拜访阿里云的金华代理商或者直接在阿里云的官方网站上购买云服务器ECS或者云虚拟主机。 在购买服务后,您需要在ECS管理控制台或者虚拟主机控制台创建一个新的实例或者主机空间。 根据需要选择操作系统,对于asp.ne…

    2024年3月13日
    23800
  • 阿里云服务器安装linux

    您可以按照以下步骤在阿里云服务器上安装Linux: 登录到阿里云控制台,选择您已创建的服务器实例。 在实例管理页面,找到您的服务器实例,并确保实例的运行状态为“运行中”。 点击实例名称旁边的“连接”按钮,选择一种连接方式,比如使用SSH连接。 在弹出的连接窗口中,复制登录命令,然后打开终端或SSH客户端。 在终端或SSH客户端中,使用复制的命令进行连接,比如…

    2023年9月24日
    23700
  • 基于阿里云搭建数据仓库

    搭建基于阿里云的数据仓库可以按照以下步骤进行: 创建云服务器(ECS):登录阿里云控制台,选择ECS,点击创建实例,根据需求选择不同的配置,比如地域、操作系统、实例规格等。 配置安全组:在ECS实例详情页,点击网络和安全组,配置安全组的入口和出口规则。通常情况下,需要开放SSH端口以便远程登录服务器。 远程登录服务器:使用SSH客户端远程登录服务器,可以使用…

    2023年8月9日
    21800
  • 镇江阿里云代理商:阿里云服务器如何配置ssl

    配置SSL证书可以让您的阿里云服务器上的网站拥有HTTPS的安全加密连接。下面是一个简单的步骤指南: 购买SSL证书:您可以从阿里云的证书服务(云盾SSL)或其他第三方证书提供商购买SSL证书。 生成CSR(证书签名请求):在阿里云服务器上使用OpenSSL生成CSR文件。在终端上运行以下命令: openssl req -newkey rsa:2048 -n…

    2023年12月19日
    22800
  • 大连阿里云代理商:阿里云免费套餐怎么用

    大连阿里云代理商:阿里云免费套餐的优势和好用之处 一、免费套餐概述 阿里云作为全球领先的云计算服务提供商,为用户提供了丰富的产品和服务。针对初创企业和开发者,阿里云推出了免费套餐,让用户可以免费体验并使用一些常用的云服务。 二、强大的云计算资源 阿里云免费套餐提供了丰富的云计算资源,包括云服务器、对象存储、数据库等。用户可以根据自己的需求选择合适的资源进行使…

    2024年1月10日
    23800

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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