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

相关推荐

  • 绍兴阿里物联网平台代理厂家有哪些呢

    阿里巴巴诚信通绍兴总代理商是哪一家?想做个诚信通 是绍兴广道网络公司,官网可以查到的 请问:阿里云服务商代理有哪些公司? 很稳定的,这么巧我也是找的思 朴科技,不过是买的阿里云的cdn,还不错 . 国内有实力的做物联网开发的公司有哪些? 这个也还不少,虽然物联网平台门槛比较高,但是也还是有些公司在做,那些小的伪物联网平台我就不说了,主要说说几个大的综合型的物…

    2023年8月28日
    78100
  • 徐州阿里云代理商:app链接服务器异常是怎么回事

    徐州阿里云代理商:app链接服务器异常可能出现的原因有很多,包括但不限于以下几点: 服务器端问题:服务器可能出现了故障或者网络连接不稳定,导致无法正常连接。 网络问题:用户的网络连接不稳定、网络延迟较大或者DNS解析错误等都可能导致连接服务器异常。 应用程序问题:应用程序本身有bug或者逻辑错误,导致无法正确连接服务器。 配置问题:可能是应用程序的配置错误导…

    2024年2月27日
    67400
  • 海宁阿里云企业邮箱代理商:用阿里云建网站

    海宁阿里云企业邮箱代理商:用阿里云建网站 阿里云企业邮箱的优势 阿里云企业邮箱是一款由阿里云提供的专业电子邮件服务,具有以下优势: 安全可靠:采用先进的加密技术和防火墙系统,保障邮件通信的安全性。 多种域名支持:可以同时管理多个域名的邮箱,为不同部门或项目设置独立的邮箱。 大容量存储:每个邮箱账号都有大容量的存储空间,支持上传附件和长期保存邮件。 强大的反垃…

    2024年2月26日
    68800
  • 阿里云计算团队介绍

    什么是阿里云计算,阿里云计算怎么样 阿里云计算有限公司于2009年9月10日成立,由阿里巴巴集团投资创办,目标是要打造互联网数据分享的第一平台,成为以数据为中心的先进云计算服务公司。公司依托阿里巴巴集团在电子商务领域的宝贵经验积累,汇集来自国内外顶尖的技术人才,专注互联网和电子商务的技术创新,打造未来互联网和电子商务的新体验,用世界一流的技术让阿里巴巴成为世…

    2023年8月27日
    81800
  • 上海阿里云代理商:阿里云绑定

    阿里云代理商是指在阿里云服务商平台上注册并得到授权的企业或个人,可以代理销售阿里云产品和服务。上海作为中国的经济中心,拥有众多的阿里云代理商。 阿里云绑定是指将自己的域名与阿里云账号进行关联,使得可以在阿里云上管理和使用自己的域名。绑定后,用户可以通过阿里云提供的域名解析、域名备案、SSL证书等服务,更好地管理自己的网站和应用。 要在上海找到阿里云代理商并绑…

    2024年1月1日
    69900

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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