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

相关推荐

  • 苏州阿里云代理商:android api文档中文

    阿里云提供了详细的Android API文档,其中包含了Android SDK的使用说明、常见问题解答、示例代码以及其他相关资源。 您可以通过以下方式获取阿里云的Android API文档中文版本: 访问阿里云官方网站:您可以在阿里云官方网站的文档中心中找到Android API文档的中文版本。在搜索框中输入”Android API文档&#822…

    2024年2月7日
    35300
  • 哈尔滨阿里云企业邮箱代理商:阿里云 smtp

    阿里云企业邮箱代理商:阿里云smtp的优势与好用之处 1. 强大的安全性保障 阿里云企业邮箱作为阿里云提供的企业级邮件解决方案,拥有世界级的安全技术和先进的防火墙系统。用户的所有邮件数据都采用高强度加密传输,确保机密信息不会被非法获取。 2. 高效的邮件收发能力 阿里云企业邮箱代理商通过阿里云smtp在全球各地设立了多个服务器节点,可以提供高速稳定的邮件收发…

    2024年2月5日
    36600
  • 企业邮箱 阿里云 怎么样注册

    要注册阿里云企业邮箱,请按照以下步骤操作: 打开阿里云官网(http://www.aliyun.com),点击右上角的”登录”按钮,选择”企业邮箱”。 在登录页面中,点击”注册免费试用账号”。 在注册页面中,输入您的手机号码,并点击”下一步”。 输入您的验证码后,…

    2023年9月9日
    34800
  • 阿里云客服工作怎么样

    阿里云客服工作的具体情况因个人经历和工作环境而异,下面是一些普遍的观点: 工作内容:阿里云客服主要负责解答用户在使用阿里云产品过程中遇到的问题,包括产品功能、故障排查等。工作内容以电话、在线聊天、邮件等方式进行。 工作压力:由于阿里云是中国领先的云计算平台,客户群体庞大,工作压力会比较大。需要处理大量的用户咨询和投诉,并且需要快速准确地解决问题。 技术要求:…

    2023年9月13日
    35100
  • 长春阿里云代理商:android项目的服务器

    长春阿里云代理商是用于销售和服务阿里云产品的机构。阿里云提供了一系列的云服务产品包括云服务器、云存储、云数据库、CDN等等,可以为安卓项目提供稳定可靠的服务器环境。 如果你在做android项目,并且需要服务器,你可以联系当地的阿里云代理商,他们会根据你的项目需求和预算,给你推荐适合的产品和服务方案。比如你可能需要弹性云服务器用来运行应用,也可能需要阿里云数…

    2024年3月15日
    34900

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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