AES加密在Linux操作系统上每次加密之后的值会不同

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

一 概述

本人在近期开发过程中发现一个有趣的现象,通过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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值