zoukankan      html  css  js  c++  java
  • Linux文件快速加密解密CentOS和Ubuntu压缩文件并加密解密

    首先说下实现方法:使用Linux的openssl命令进行二进制文件的加密解密,使用管道命令进行文件的加密解密操作

    一、普通文件加密/解密

    【加密】

    cat a.txt | openssl des3 -e -k password > a1

    其中a.txt可以为任何二进制文件、password为密码、a1为加密后的文件

    原理:使用cat命令读取文件内容使用管道命令将文件内容输出到openssl命令,加密完成使用>操作符将加密后的结果输出到文件a1

    【解密】

    cat a1 | openssl des3 -d -k password > a2

    其中a1为加密后的文件、password为密码、a2为解密后的文件

    原理与加密相同

    openssl参数:

      des3 加密方式(可根据需要更换)

      -e 表示需要加密

      -d 表示需要解密

      -k 表示密钥(即密码)

    二、压缩文件加密/解密

    亮点:使用管道符实现数据内存交互,无需打包后再将打包后的文件加密

    【压缩并加密】

    tar zcvf - file1 file2 | openssl des3 -e -k password > a1

    其中file1file2指添加进压缩包的文件,可以多个,可以为文件夹;password为密码,a1为加密后的文件

    原理:使用tar命令打包文件( - 参数指输出到管道)将打包后的数据输出到openssl命令加密完成使用>操作符将加密后的结果输出到文件a1

    【解密并解压】

    cat a1 | openssl des3 -d -k password | tar zxvf -

    其中a1为加密后的文件,password为密码

    原理:使用 cat命令读取加密后的文件内容并且输出到openss命令,解密完成得到压缩包数据再通过管道符将数据传递到tar命令进行解压

    tar命令的“-”参数指从管道读取数据进行解压而非文件

    不得不感慨Linux管道命令之强大,可以将各种命令通过管道组合成复杂的功能,强大而高效

  • 相关阅读:
    预习非数值数据的编码方式
    预习原码补码反码
    C语言||作业01
    C语言寒假大作战04
    关于数据库及druid连接池版本,还有相关配置异常。。。
    关于idea部署web项目出现中文乱码
    spring与mybatis整合
    mybatis使用
    今日异常(7.8):关于maven项目复制问题
    今日异常(7.6):Mybatis错误:There is no getter for property named 'xxx' in 'class java.lang.String'
  • 原文地址:https://www.cnblogs.com/yzeng/p/13210608.html
Copyright © 2011-2022 走看看