转自:http://netsecurity.51cto.com/art/201301/378513.htm

1.简介

OpenSSL是一款功能强大的加密工具包。我们当中许多人已经在使用OpenSSL,用于创建RSA私匙或证书签名请求(CSR)。不过,你可曾 知道可以使用OpenSSL来测试计算机速度?或者还可以用它来对文件或消息进行加密?本文将介绍几个简单易学的技巧,教你如何使用OpenSSL对消息 和文件进行加密。

【相关推荐】:网络安全工具百宝箱

2.对消息进行加密和解密

首先,我们不妨对简单的消息进行加密。下面这个命令将使用Base64编码方法(Base64 Encoding),对"Welcome to LinuxCareer.com"(欢迎访问LinuxCaeer.com)这个消息进行加密:

$ echo "OpenSSL" | openssl enc -aes-256-cbc > openssl.dat

enter aes-256-cbc encryption password:

Verifying - enter aes-256-cbc encryption password:

$ file openssl.dat

openssl.dat: data

想对openssl.dat文件进行解密,恢复至原始消息,请使用:

$ openssl enc -aes-256-cbc -d -in openssl.dat

enter aes-256-cbc decryption password:

OpenSSL

3.对文件进行加密和解密

想使用OpenSSL对文件进行加密,其实就跟对消息进行加密一样简单。唯一的区别在于,我们不是使用echo命令,而是使用-in选项,后面跟以我们想进行加密的实际文件,并使用-out选项,这会指令OpenSSL将经过加密的文件存储到某个名称的文件中:

$ openssl enc -aes-256-cbc -in /etc/services -out services.dat

想对我们的服务文件进行解密,恢复成原样,请使用:

$ openssl enc -aes-256-cbc -d -in services.dat > services.txt

enter aes-256-cbc decryption password:

4.对目录进行加密和解密

万一你需要使用OpenSSL对整个目录进行加密,首先需要创建gzip打包文件(tarball),然后用上述方法对该打包文件进行加密,也可以使用pipe,同时完成这两项任务:

# tar cz /etc | openssl enc -aes-256-cbc -out etc.tar.gz.dat

tar: Removing leading `/' from member names

enter aes-256-cbc encryption password:

Verifying - enter aes-256-cbc encryption password:

想对整个etc/目录进行解密,并提取到当前的工作目录,请使用:

# openssl enc -aes-256-cbc -d -in etc.tar.gz.dat | tar xz

enter aes-256-cbc decryption password:

上述方法对自动备份加密目录来说相当有用。

5.小结

大家刚才看到的只是OpenSSL加密方面的基本介绍。说到OpenSSL这款加密工具包,它其实没有限制你能用它来做什么,可以说用途广泛。想看看如何使用不同的编码方法,请参阅OpenSSL手册页:

$ man openssl

转载于:https://www.cnblogs.com/lance-ehf/p/3901135.html

在Linux环境下使用OpenSSL对消息和文件进行加密(转载)相关推荐

  1. 在linux环境下com.aspose.words将word文件转为pdf后乱码,window环境下不会

    在linux环境下com.aspose.words将word文件转为pdf后乱码,window环境下不会 乱码原因是因为在linux系统下没有中文字体,所以转换的时候乱码,需要我们手动把window系 ...

  2. Linux环境下从MySql数据库导出sql文件

    Linux环境下从MySql数据库导出sql文件(mysqldump命令) 1.导出数据和表结构: 首先要在安装mysql的/bin目录下才可以执行: #/usr/local/mysql/bin/ m ...

  3. 【 Linux学习】Linux环境下利用OpenSSL对大文件进行AES加解密

    一.背景 之前的几篇博客已经介绍了Gitlab如何备份恢复与迁移已经脚本监控过程等. git学习--> Gitlab如何进行备份恢复与迁移? http://blog.csdn.net/ouyan ...

  4. 在linux环境下 com.aspose.words将word文件转图片后乱码,window系统正常

    乱码原因是因为在linux系统下没有中文字体,所以转换的时候乱码,需要我们手动把window系统的字体文件拷贝到linux系统下的字体目录下. 解决方法如下: (1)window系统的字体目录位置C: ...

  5. Linux环境下运行matlab以及执行m文件

    在Linux下安装完matlab后,会在/usr/local/bin/下生成matlab文件,可以使用matlab命令. 在命令行下执行: $ matlab -help 可以得到帮助文件: Usage ...

  6. linux 文件修复工具,Linux环境下几个好用的文件恢复工具

    昨日看到了相关的文件恢复工具的介绍,多多少少感觉不怎么全面.搜索了一下,还真不少,列出来共享一下前人的成果: 1.testdisk Partition scanner and disk recover ...

  7. 在linux环境下,使用find查找某个文件的指定路径

    你是不是会遇到,忘记某个文件放到那个位置,或者不确定有没有这个文件,没关系,find命令带你找一找: 1.find命令查找格式 find 要查询路径 -name 要查询文件名 查找指定文件名 (bas ...

  8. Linux环境下编译并执行ava helloworld程序

    http://blog.lupaworld.com/home-space-uid-24466-do-blog-id-2578.html 已经学会怎样在Windows下怎样编辑,编译和运行Java程序了 ...

  9. linux 环境下的进程间的通信——消息队列传输结构体

    linux 环境下的进程间的通信方式主要有:管道,有名和无名管道, 这种方式适用于具有亲缘关系的进程之间的通信: 信号: 消息队列: 共享内存: 信号量: 套接字: 这次主要涉及消息队列: 1. 需要 ...

最新文章

  1. javascript中this那些事
  2. Hello World程序里居然有bug!
  3. Linux (四)其他一些服务的实现
  4. 重温强化学习之无模型学习方法:蒙特卡洛方法
  5. 跟老杨学java系列(一)前传
  6. 02 oracle 创建用户和授权
  7. Python-100 | 练习题 01 列表推导式
  8. centos安装php7编译
  9. python123自定义幂函数_python基础之函数
  10. UIView动画小问题。
  11. 实数域上的压缩映射不动点原理
  12. 最全面的免费可商用素材网站合集
  13. word表格中多行只有一行字,让一行字居中的设置操作
  14. 白鹭(egret)搜素引擎入门
  15. Android 自定义锁屏_让你的 Android 用上炫酷航拍壁纸
  16. 钉钉添加自定义机器人,实现每周定时@某人
  17. python csv转tsv
  18. HZNUOJ 2977 宝可梦决战 种族并查集
  19. iOS 答题功能实现
  20. 设置计算机访问权限密码忘了怎么办,苹果访问限制密码是什么?忘记怎么办【详解】...

热门文章

  1. clickhouse官方文档_ClickHouse和他的朋友们(1)编译、开发、测试
  2. kettle mysql 配置_Kettle数据库配置抽离
  3. python del函数_干货:Python的内存管理办法
  4. android 调用js怎么获取返回值_js 函数
  5. 揭阳电网要求计算机二级吗,2018年3月广东省揭阳市计算机等级考试考务通知
  6. c语言的多文件组织,c++中多文件的组织
  7. java投票锁_Java并发编程锁之独占公平锁与非公平锁比较
  8. html div套div,Web前端开发技术之Div+Css基础
  9. 记录一下MATLAB中ode45函数求解非刚性微分方程
  10. python 简单数据库_Python打造一个简单的本地数据库