首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Java:尝试让这个AES加密库工作,但没有成功

Android Java中的AES加密库可以通过使用Java Cryptography Extension (JCE)来实现。下面是一个实现AES加密和解密的示例代码:

代码语言:txt
复制
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class AesEncryptionExample {

    private static final String AES_KEY = "YourAESKey";

    public static String encrypt(String input) {
        try {
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
            SecretKeySpec secretKey = new SecretKeySpec(AES_KEY.getBytes(), "AES");
            cipher.init(Cipher.ENCRYPT_MODE, secretKey);
            byte[] encryptedBytes = cipher.doFinal(input.getBytes(StandardCharsets.UTF_8));
            return Base64.getEncoder().encodeToString(encryptedBytes);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static String decrypt(String encryptedInput) {
        try {
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
            SecretKeySpec secretKey = new SecretKeySpec(AES_KEY.getBytes(), "AES");
            cipher.init(Cipher.DECRYPT_MODE, secretKey);
            byte[] decryptedBytes = cipher.doFinal(Base64.getDecoder().decode(encryptedInput));
            return new String(decryptedBytes, StandardCharsets.UTF_8);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static void main(String[] args) {
        String plaintext = "Hello, World!";
        String encrypted = encrypt(plaintext);
        String decrypted = decrypt(encrypted);

        System.out.println("Plaintext: " + plaintext);
        System.out.println("Encrypted: " + encrypted);
        System.out.println("Decrypted: " + decrypted);
    }
}

在上述代码中,AES_KEY是用于加密和解密的密钥。请注意,实际应用中应该使用更强大的密钥管理方案。

AES加密库的工作原理是使用相同的密钥进行加密和解密操作。加密操作使用Cipher.ENCRYPT_MODE模式,解密操作使用Cipher.DECRYPT_MODE模式。在此示例中,采用了ECB模式和PKCS5Padding填充方式。

这个AES加密库可以用于保护敏感数据,如用户密码、网络通信数据等。在Android应用中,常见的使用场景包括数据存储、网络传输、用户认证等。

腾讯云提供了多种云服务产品,其中包括与加密相关的产品。例如,腾讯云提供了云加密机(Cloud HSM)用于保护密钥,同时还提供了数据加密服务(SSL、TKE、CKMS等)来确保数据的机密性和完整性。您可以通过腾讯云的安全产品了解更多相关信息。

请注意,以上答案仅供参考,并不包含亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商的内容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券