[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [转]使用tar与OpenSSL加密解密打包文件

本帖最后由 523066680 于 2014-12-10 00:12 编辑

第一接触OpenSSL,也是第一次知道OpenSSL可以用来加密,分享(以下内容纯转发)一下:

  • PS:昨天有童鞋问我在linux用tar打包文件是否可以加密码。其实是可以的,不过要跟openssl结合使用。用法如下:

  • 在当前目录下有一个pma目录的文件夹:

  • 1、使用tar对文件压缩加密:
  • # tar -zcvf - pma|openssl des3 -salt -k password | dd of=pma.des3
  • 完成将得到一个pma.des3的打包文件,用你设置的密码替换password。

  • 2、使用tar对加密文件解压:
  • # dd if=pma.des3 |openssl des3 -d -k password|tar zxf -
  • 注意:命令最后有”-”,它将释放所有的文件。其中-k password可以不使用,这样执行完命令后会提示你输入密码,加上-k参数表示在程序中自动验证密码。


  • 附:OpenSSL加密算法详解:

  • 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选项默认系统会提示输入密码并且确认,是需要人工操作的。)

  • from:http://www.ha97.com/5114.html


以及最后附上GNUWIN32第三方命令列表的下载地址
http://gnuwin32.sourceforge.net/packages.html

本帖最后由 523066680 于 2014-12-10 00:15 编辑

原本我想用7z或者rar的加密,但是网上一查都有破解工具。然后发现openssl不但支持加密,而且算法种类繁多,实在惊喜。

TOP

感谢分享
WinRAR的加密算法被破解了吗?之前听说都是挂字典暴破吧
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Batcher


     可能也都是跑字典吧,百度经验看到一个方法,还未尝试:

http://jingyan.baidu.com/article/25648fc1dd74c09191fd00c7.html

TOP

返回列表