我已经尝试了几天用java解密用openssl加密的消息 . 使用以下命令加密消息:

openssl enc -e -aes-256-cbc -kfile $ file.key -in toto -out toto.enc .

文件file.key包含256位的对称密钥 . 在命令中没有指定salt,但文件以Salted__开头 . 这是我编写的类,试图解密该文件,但即使删除该文件的16个字符即可获取任何内容,即:Salted__ salt加密 . 我得到错误:线程“main”中的异常javax.crypto.BadPaddingException:给定最终块未正确填充 .

有人能帮助我吗?

非常感谢你 .

public class Java {

private static SecretKey key = null;

private static Cipher cipher = null;

public static void main(String[] args) throws Exception

{

String filename = RESOURCES_DIR + "toto.enc";

byte[] key = Base64.decode("2AxIw+/AzDBj83OILV9GDpOs+izDFJEhD6pve/IPsN9=");

SecretKeySpec secretKey = new SecretKeySpec(key, "AES");

cipher = Cipher.getInstance("AES");

cipher.init(Cipher.DECRYPT_MODE, secretKey);

byte[] test = Base64.decode(readFile(filename));

byte[] decryptedBytes = cipher.doFinal(test);

String decryptedText = new String(decryptedBytes, "UTF8");

System.out.println("After decryption: " + decryptedText);

}

public final static String RESOURCES_DIR = "C:/Users/toto/Desktop/";

static String readFile(String filename) throws FileNotFoundException, IOException {

FileReader fr;

BufferedReader br;

fr = new FileReader(new File(filename));

br = new BufferedReader(fr);

String str;

String res = "";

while ((str = br.readLine()) != null) {

res += str;

}

return res;

}

}

openssl 加盐_用盐打开Openssl AES 256 CBC Java Decrypt文件相关推荐

  1. aes 256 cbc java,AES256加解密java语言实现

    AES256加解密java语言实现 写在前面 基于项目安全性需要,有时候我们的项目会使用AES 256加解密算法.以下,是针对实现AES256 Padding7加密算法实现的关键步骤解析以及此过程遇到 ...

  2. java 使用不同目录下的类_如何运行在不同目录下的java类文件? - Break易站

    Java 基础语法 在本文中,我们将学习如何使用其他项目的实用程序,类和成员.在继续之前,让我们了解一些关键字. 类路径 类路径是jvm开始执行程序的位置.与传统的动态加载行为类似,当执行Java程序 ...

  3. openssl 加盐_openssl passwd

    该伪命令用于生成加密的密码. [root@xuexi tmp]# whatis passwd passwd (1) - update user's authentication tokens pass ...

  4. java中使用openssl生成的rsa公私钥进行数据加解密_使用openssl生成RSA公钥和私钥对...

    在ubuntu上要使用openssl的话需要先进行安装,命令如下: sudo apt-get install openssl 安装完成就可以使用openssl了. 首先需要进入openssl的交互界面 ...

  5. OpenSSL加解密

    Linux下环境搭建及编译 Linux下安装OpenSSL开发包 apt-get install libssl-dev apt-get install openssl 编译C++代码文件 g++ -o ...

  6. Linux系统openssl升级,在Linux系统上升级OpenSSL的方法

    我是用的centos ,目前官方说受威胁的版本是1.0.1f, 1.0.1e, 1.0.1d, 1.0.1c, 1.0.1b, 1.0.1a, 1.0.1 .在openssl 1.0.1g版本中&qu ...

  7. 合并的表格怎么加横线_如何在excel中文字后面加横线

    如何在excel中文字后面加横线以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如何在excel中文字后面加横线 好办啊 ...

  8. openssl生成证书linux,Linux下使用openssl生成证书

    利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件. 证书文件的生成步骤: ...

  9. 易语言支持库配置闪退丨支持库配置崩溃_易语言打开支持库配置就闪退怎么办?

    易语言支持库配置闪退打不开怎么办? 易语言支持库配置闪退解决方法丨支持库配置崩溃_易语言打开支持 易语言支持库配置闪退丨支持库配置崩溃_易语言打开支持库配置就闪退怎么办? 很多人都遇到过 打开易语言支 ...

最新文章

  1. 常用语义分割小样本模型
  2. Linux内核编码风格
  3. Linux 下的网络配置
  4. python生成随机骨料模型代码_Abaqus Python脚本-3D随机球形骨料的生成
  5. License分类 + 引入开源软件时License的注意事项
  6. 无线连接 服务器,服务器无线远程连接
  7. 5G基站功耗,到底有多大?
  8. 中国区块链相关政策法规演变史
  9. 余世维“沟通的技巧”笔记
  10. 计算机网络上机指导,计算机网络上机指导书.pdf
  11. WOW、ScrollReveal:WOW.js和ScrollReveal.js基础学习
  12. 蓝牙耳机的两种通讯协议及奥秘
  13. SpringBoot Elasticsearch工具类封装
  14. Tampermonkey的使用
  15. 网络变压器 POE、POE+及UPOE+功能的概念和技术原理
  16. Python3 批量提取视频中的音频
  17. python索引右往左_Python字符串从左到右索引默认0开始的,最大范围是字符串长度少1...
  18. USACO_Wormholes
  19. SpringBoot切面应用-输出接口调用日志
  20. 物联网之NB-IoT技术实践开发三(NB-IoT网络编程)

热门文章

  1. 【石头和爸爸】离家远行前的一个半月
  2. DEX的文件简略介绍
  3. [NOIP2017普及组]——棋盘
  4. Windows程序开机自启动(图文详解,命令快速打开目录)
  5. java生成条形码和二维码
  6. win10 store 打不开
  7. Ubunt安装Mysql8
  8. 双电阻差分电流采样_矢量控制中的常见电流检测方式
  9. 必联路由器linux系统,bl lw06 ar 驱动下载
  10. Python+selenium自动化-js处理日历控件(修改readonly属性)