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

相关推荐

  • 如何利用阿里云企业邮箱提高邮件营销的打开率、点击率和转化率的综合效果?

    如何利用阿里云企业邮箱提高邮件营销的打开率、点击率和转化率的综合效果 随着数字营销的深入发展,邮件营销依然是企业获取客户和提升转化的重要工具。然而,要想在日益激烈的市场竞争中脱颖而出,仅靠发送邮件远远不够。阿里云企业邮箱凭借其稳定、高效和智能的功能,能够有效提升邮件的打开率、点击率和转化率。本文将围绕阿里云企业邮箱的优势,分析如何优化邮件营销效果。 一、阿里…

    2024年10月29日
    39200
  • 宜昌阿里云代理商:api vb 文件缓冲区

    阿里云:强大的云计算平台 为什么选择阿里云? 在当今数字化时代,云计算已成为企业发展的必由之路。阿里云作为全球领先的云计算平台,具有许多优势和好用之处,极大地推动了企业的发展和创新。 强大的云计算基础设施 阿里云拥有世界级的云计算基础设施,包括多个数据中心、大规模计算集群和高速网络连接。这些基础设施保证了阿里云的高可用性和可靠性,用户可以随时随地访问到自己的…

    2024年1月31日
    59100
  • 北京市阿里云数据中心

    阿里云数据中心在哪些地方 阿里碧宽液的数据巧指中心主要都在南方浙江等地,杭州的数据中心最密集。虽然阿里在北京上海也有分公司,但拥有的都是本地公司的小数据中心悔物。 阿里云北京最大代理商是哪家 阿里云创立于2009年,是全球领先的云计算及人工智能科技公司,为200多个国家和地区的企业、开发者和政府机构提供服务。2017年1月阿里云成为奥运会全球指定云服务商。2…

    2023年8月26日
    45100
  • 绵阳阿里云代理商:阿里云支持docker

    是的,阿里云是一个云计算服务提供商,提供了多种云服务,其中包括支持Docker的容器服务。 阿里云容器服务提供了一套完整的容器解决方案,可以帮助用户在云上高效地构建、部署和管理容器。用户可以使用阿里云容器服务进行容器的创建、保护、调度和监控,并且可以轻松地将自己的应用部署到一个或多个Docker容器中。 通过阿里云容器服务,用户可以利用Docker技术快速构…

    2024年1月15日
    46300
  • 宜昌阿里云代理商:阿里云服务器流量包的适用场景和限制?

    阿里云服务器流量包适用于有流量需求的用户,比如网站、应用程序、视频、游戏等服务的运行和流量消耗。流量包可以有效地降低流量成本,并且可以根据实际需求弹性购买和灵活配置,可以提供更好的性价比和更稳定的流量支持。 然而,阿里云服务器流量包也有一些限制,例如购买之后的有效期一般为1年,过期后将会失效;还有一些流量包并非全网通用,需要在购买时留意适用范围。同时,流量包…

    2023年11月19日
    41500

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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