OpenSSL是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库、应用程序、SSL协议库。Openssl实现了SSL协议所需要的大多数算法。
下面介绍使用Openssl进行文件的对称加密操作。

一、Openssl支持的加密算法有:

-aes-128-cbc -aes-128-cfb -aes-128-cfb1
-aes-128-cfb8 -aes-128-ecb -aes-128-ofb
-aes-192-cbc -aes-192-cfb -aes-192-cfb1
-aes-192-cfb8 -aes-192-ecb -aes-192-ofb
-aes-256-cbc -aes-256-cfb -aes-256-cfb1
-aes-256-cfb8 -aes-256-ecb -aes-256-ofb
-aes128 -aes192 -aes256
-bf -bf-cbc -bf-cfb
-bf-ecb -bf-ofb -blowfish
-cast -cast-cbc -cast5-cbc
-cast5-cfb -cast5-ecb -cast5-ofb
-des -des-cbc -des-cfb
-des-cfb1 -des-cfb8 -des-ecb
-des-ede -des-ede-cbc -des-ede-cfb
-des-ede-ofb -des-ede3 -des-ede3-cbc
-des-ede3-cfb -des-ede3-ofb -des-ofb
-des3 -desx -desx-cbc
-rc2 -rc2-40-cbc -rc2-64-cbc
-rc2-cbc -rc2-cfb -rc2-ecb
-rc2-ofb -rc4 -rc4-40

二、OpenSSL加密指令语法:

SYNOPSIS
openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e]
[-d] [-a] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-p]
[-P] [-bufsize number] [-nopad] [-debug]
说明:
-chipername选项:加密算法,Openssl支持的算法在上面已经列出了,你只需选择其中一种算法即可实现文件加密功能。

-in选项:输入文件,对于加密来说,输入的应该是明文文件;对于解密来说,输入的应该是加密的文件。该选项后面直接跟文件名。

-out选项:输出文件,对于加密来说,输出的应该是加密后的文件名;对于解密来说,输出的应该是明文文件名。

-pass选项:选择输入口令的方式,输入源可以是标准输入设备,命令行输入,文件、变量等。

-e选项:实现加密功能(不使用-d选项的话默认是加密选项)。

-d选项:实现解密功能。

-a和-A选项:对文件进行BASE64编解码操作。

-K选项:手动输入加密密钥(不使用该选项,Openssl会使用口令自动提取加密密钥)。

-IV选项:输入初始变量(不使用该选项,Openssl会使用口令自动提取初始变量)。

-salt选项:是否使用盐值,默认是使用的。

-p选项:打印出加密算法使用的加密密钥。

三、用法举例:

1、使用aes-128-cbc算法加密文件:
openssl enc -aes-128-cbc -in install.log -out enc.log
(注:这里install.log是你想要加密的文件,enc.log是加密后的文件,回车后系统会提示你输入密码。)
2、解密刚才加密的文件:
openssl enc -d -aes-128-cbc -in enc.log -out install.log
(注:enc.log是刚才加密的文件,install.log是解密后的文件,-d选项实现解密功能。)
3、加密文件后使用BASE64格式进行编码:
openssl enc -aes-128-cbc -in install.log -out enc.log -a
4、使用多种口令输入方式加密:
openssl enc -des-ede3-cbc -in install.log -out enc.log -pass pass:111111
(这种方法的好处是你可以把它写入到脚本中,自动完成加密功能,不使用pass选项默认系统会提示输入密码并且确认,是需要人工操作的。)

OpenSSL加密解密文件相关推荐

  1. openssl加密解密

    openssl加密解密 常用加密方式 对称加密:发送方和接受方使用同样的一把私钥,私钥用于加密和解密 非对称加密:有一把公钥,有一把私钥,使用公钥加密,只能使用私钥进行解密 但非对称加密比对称加密慢, ...

  2. C 使用异或(xor)加密/解密文件

    C 使用异或(XOR)加密/解密文件 之前写过一篇<php 使用异或(XOR)加密/解密文件>,但php执行的速度很慢,因此这次使用C重写,速度有很大的提高. xor_encrypt.c ...

  3. C#编程实现加密解密文件夹核心代码

    程序的基本原理是:用C#语言重命名文件夹,通过重命名使之成为windows安全文件的类标识符.具体的方法是为文件夹添加拓展名".{2559a1f2-21d7-11d4-bdaf-00c04f ...

  4. aes加密算法c#语言实现,C#编程实现加密解密文件夹核心代码

    类型:加密解密大小:296KB语言:中文 评分:8.0 标签: 立即下载 用C#语言实现一个文件夹锁的程序,网上类似的"xxx文件夹xxx"软件很多,但是基本上都是C/C++语言实 ...

  5. openssl enc 加密/解密文件

    OpenSSL 可用密码或者秘钥方式进行加密,近期用到用密码进行加密解密,故记录之. AES256 是对称加密的一种,可参考相关博客. 加密(openssl enc -e): openssl enc ...

  6. openssl 加密解密 指令_OpenSSL未来架构设计,3.0初步实现

    概述 日前OpenSSL官网公布了未来OpenSSL的架构蓝图.作为战略性的架构目标,需要大量的版本迭代本文档概述了OpenSSL战略架构.它需要多个版本的迭代从目前最新的版本1.1开始直到3.0甚至 ...

  7. java rsa 文件加密解密_RSA 加密、解密(自己生成加密解密文件)

    本文是自己阅读了网上的高人们的文章之后,实现功能后总结出来的,方便自己方便他人,不喜勿喷 加密解密需要生成公钥.私钥文件步骤 1.打开终端 输入 openssl 5F88AA4A-3913-4CBC- ...

  8. 【C#文件锁】C#加密解密文件小工具

    前面一篇博文中,分享了一个文件夹加密小工具,该工具是操作文件夹名称的方法实现文件夹的一般加密,文件夹中的文件(视频.图片等)都原封不动的保存在那里. DebugLZQ在网上搜索相关文件加密的程序,发现 ...

  9. openssl 加密解密 指令_Shell openssl命令加密解密字符串

    Linux下的 openssl 命令解密 我们以在线加密网站为例 http://tool.chacuo.net/cryptdes 我们选择des cbc模式,密钥为abcdefgh, 偏移量为1234 ...

最新文章

  1. java.util.concurrent.Exchanger应用范例与原理浅析--转载
  2. python内置排序算法_2021-01-05 排序算法(Python语言实现)
  3. Python报错UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 1413-1418: ordinal not
  4. spark读取文件源码分析-1
  5. Hibernate关联关系映射-----基于连接表的单向一对多映射配置
  6. 在VS2010 Choose Toolbox Item Dialog 中显示自定义控件
  7. Android 实现应用升级方案(暨第三方自动升级服务无法使用后的解决方案)
  8. java虚拟机:虚拟机栈
  9. 机房收费系统——可行性研究报告
  10. BackTrack5(BT5) 硬盘安装 教程
  11. 手机写java_手机怎么写java
  12. 360手机号码归属地查询抓取、免费稳定高效手机号码归属地查询
  13. android视频动态壁纸app,手机壁纸视频动态壁纸
  14. 成都列五中学2021年高考成绩查询,2021年成都列五中学升学率怎么样?
  15. Excel计算BOM物料数量的公式
  16. 数据挖掘ID3算法详解
  17. 乐高计算机游戏泡泡龙教案,疯狂泡泡龙(400关)
  18. HiFT: Hierarchical Feature Transformer for Aerial Tracking分层特征Transformer的无人机跟踪
  19. Alpha事后诸葛(团队)
  20. 电视服务器媒体流中断是什么意思,视频流媒体服务器稳定吗?出现播放中断问题怎么办?...

热门文章

  1. 第一次作业:对计算机学科学习的规划和探讨
  2. Cucumber读书笔记
  3. java中如何将子弹向对角发射_Java 坦克大战 tankwar
  4. 【如何毁了一个人】你的沉迷,不全是你的错,是这个时代充满太多的诱惑!!!
  5. 电流镜中cascode效应的学习笔记
  6. 目标导向的过程还是过程导向的目标
  7. 计算机控制技术主编薛弘晔,计算机控制技术(薛弘晔)
  8. 如何使用AE来制作烟雾粒子特效
  9. 【毕业设计】python 机器视觉 车牌识别 - opencv 深度学习 机器学习
  10. python找电影资源_python收集电影下载地址