一 概述
本人在近期开发过程中发现一个有趣的现象,通过AES加密解密的方法,在Windows操作系统上执行都是唯一,但是转到Linux操作系统上就出现每次加密都会得到一个不一样的加密值。
二 本人AES加密代码
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.SecureRandom;
/**
* @Author zhoucheng
* @ClassName AESUtils
* @Date 17:59 2021/4/8
* @Version 1.0
* @Description 用于加密,解密
**/
public class AESUtils {
//加密密钥
public static final String secret = "zhoucheng";
/**
* @Author zhoucheng
* @MethodName AESJDKEncode
* @Param [message, Key]
* @Date 18:22 2021/4/8
* @return: byte[]
* @Version 1.0
* @Description AES加密
**/
public static byte[] AESJDKEncode(String message, String Key) {
try {
KeyGenerator keyGeneratorEncode = KeyGenerat

本文介绍了一种使用AES加密算法时出现的有趣现象:在Windows和Linux平台上执行相同的加密过程,得到的结果却不同。文章提供了Java实现的AES加密解密代码,并分析了造成这种现象的原因可能在于SecureRandom实现的差异。
最低0.47元/天 解锁文章
1631

被折叠的 条评论
为什么被折叠?



