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

相关推荐

  • 阿里云服务器网址查看文件

    要在阿里云服务器上查看文件,可以使用以下方法: 使用SSH连接到服务器:打开终端或SSH客户端,输入服务器的IP地址和登录凭据,连接到服务器。 导航到文件所在的目录:使用cd命令导航到所需文件的目录。例如,使用cd /path/to/file/命令进入文件所在的目录。 查看文件列表:使用ls命令查看当前目录下的文件列表。例如,使用ls命令查看该目录下的所有文…

    2023年9月22日
    17900
  • 阿里云智能生态伙伴负责人

    阿里云智能生态伙伴负责人主要负责与阿里云智能生态伙伴进行合作,推动生态伙伴的发展和壮大。他们负责与合作伙伴进行战略合作,共同开展市场推广、技术支持、产品联合研发等工作,实现合作共赢的目标。 阿里云智能生态伙伴负责人需要具备良好的市场洞察力和合作能力,能够了解和把握市场需求,与合作伙伴进行深入的合作沟通,制定合作计划和推广策略。他们需要与合作伙伴建立并维护良好…

    2023年11月10日
    17400
  • 阿里云企业邮箱手机端设置

    要设置阿里云企业邮箱的手机端,您可以按照以下步骤进行操作: 下载并安装阿里云企业邮箱的手机客户端,可在手机应用商店中搜索“阿里云企业邮箱”进行下载。 打开手机客户端后,选择登录方式。一般有两种登录方式,分别是“邮箱地址+密码”和“手机号码+验证码”。根据自己的登录方式选择相应的选项。 根据登录方式输入相应的信息。如果选择邮箱地址+密码登录方式,则输入企业邮箱…

    2023年9月9日
    14900
  • 兰州阿里云代理商:asp.net网站后缀aspx

    在兰州,阿里云代理商提供ASP.NET网站后缀为.aspx的服务。ASP.NET是一种用于创建动态网站和Web应用程序的开发框架,而.aspx是ASP.NET网站的默认文件扩展名。通过阿里云代理商,您可以获得ASP.NET网站的托管服务,并使用.aspx文件来构建和管理您的网站。 阿里云代理商是指在阿里云平台上提供云计算服务的合作伙伴。兰州阿里云代理商则是指…

    2024年2月12日
    16000
  • 阿里云国际站注册教程:安卓网络频段

    阿里云国际站的优势和好用之处 简介 阿里云国际站作为全球领先的云计算平台,提供了一系列的服务和解决方案,为用户在全球范围内构建强大、安全和可靠的云基础架构。 1. 全球覆盖 阿里云国际站在全球范围内拥有多个数据中心,可以实现全球范围的覆盖。不管您是在任何地方,都可以轻松访问和使用阿里云的服务。 2. 高性能 阿里云国际站的网络频段采用了最新的技术,提供了卓越…

    2024年1月11日
    18100

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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