zoukankan      html  css  js  c++  java
  • javax.crypto.BadPaddingException: Given final block not properly padded. Suc

    在在进行token加密解密的时候报错:

    javax.crypto.BadPaddingException: Given final block not properly padded. Suc
    

    然后百度一下:
    对着这哥们的修改一波:
    https://www.cnblogs.com/zempty/p/4318902.html
    主要就是修改加密部分:
    在这里插入图片描述
    在linux上面 错误部分:

    private Key initKeyForAES(String key) throws NoSuchAlgorithmException {
            if (null == key || key.length() == 0) {
                throw new NullPointerException("key not is null");
            }
            SecretKeySpec key2 = null;try {
                KeyGenerator kgen = KeyGenerator.getInstance("AES");
                kgen.init(128, new SecureRandom(key.getBytes()));
                SecretKey secretKey = kgen.generateKey();
                byte[] enCodeFormat = secretKey.getEncoded();
                key2 = new SecretKeySpec(enCodeFormat, "AES");
            } catch (NoSuchAlgorithmException ex) {
                throw new NoSuchAlgorithmException();
            }
            return key2;
    
        }
    

    修改后部分:

    private Key initKeyForAES(String key) throws NoSuchAlgorithmException {
            if (null == key || key.length() == 0) {
                throw new NullPointerException("key not is null");
            }
            SecretKeySpec key2 = null;
            SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
            random.setSeed(key.getBytes());
            try {
                KeyGenerator kgen = KeyGenerator.getInstance("AES");
                kgen.init(128, random);
                SecretKey secretKey = kgen.generateKey();
                byte[] enCodeFormat = secretKey.getEncoded();
                key2 = new SecretKeySpec(enCodeFormat, "AES");
            } catch (NoSuchAlgorithmException ex) {
                throw new NoSuchAlgorithmException();
            }
            return key2;
    
        }
    

    下面是我自己修改的,也是网上找的工具类,比较复杂…
    在这里插入图片描述

    世界上所有的不公平都是由于当事人能力不足造成的.
  • 相关阅读:
    CSS布局中——导航是非常常见的
    a标签中的label在IE下触发不了a标签的href链接(label标签——解析)
    table中tr使用toggle不好,选择换一张方式
    css的框架——global.css
    css3属性及事例
    HTML5和CSS3的网站
    利用@media screen实现网页布局的自适应
    关于web中的自适应布局
    css中position:relative的真正理解
    计算时间间隔的js
  • 原文地址:https://www.cnblogs.com/javayida/p/13346810.html
Copyright © 2011-2022 走看看