在Linux系统中自带openssl工具,加密和解密,可以在Linux上进行。利 openssl工具,用DES、3DES、IDEA、AES等对称算法对文件加密解密,和用RSA非对称算法对文件加密解密。

1、对称加密

可以用命令man enc 查看所有的加密算法

对于对称算法的加密,命令都比较简单。命令如下

加密命令:openssl enc -e 算法 -in 文件a -out 文件b  解密命令:openssl enc -d 算法 -in 文件c -out 文件d-e :加密模式a文件:所要加密的对象文件b文件:通过加密之后 输出的加密文件-d :加密模式c文件:所要解密的对象文件d文件:通过解密之后输出的文件

DES算法加密

例如,用openssl实现DES算法加密,对文件aaa.des进行加密,加密之后的文件输出为aaa.cfb.dm

命令:

加密:openssl enc -e -des-cfb -in aaa.des -out aaa.cfb.enc
解密:openssl enc -d -des-cfb -in aaa.cfb.enc -out aaa.cfb.dm

第一步:通过man enc命令查看DES算法的模式

第二步:使用某一模式对文件进行加密和解密,例如选择DES算法的CFB模式,

3DES、IDEA、AES算法的加密过程和DES算法一致

3DES算法加密解密

加密:openssl enc -e -des-des3 -in bbb.des3 -out bbb.des3.enc解密:openssl enc -d -des-des3 -in bbb.des3.enc -out bbb.des3.enc.dm

​​​​​​​

AES算法加密

查看AES的加密方式:man enc,结果如图

加密:openssl enc -e -aes-192-cbc -in test.txt -out test.txt.enc解密:openssl enc -d -aes-192-cbc -in test.txt.enc -out test.txt.dm

IDEA算法加密解密

IDEA的加密模式如下

用CBC模式加密:

加密:openssl enc -e -idea-cbc -in test.txt -out test.idea.enc解密:openssl enc -d -idea-cbc -in test.idea.enc -out test.idea.dm

加密:

解密:

非对称加密

查看opnssl 的RSA参数说明:man enc

对测试文件进行RSA加密:

第一步:生成秘钥文件:openssl genrsa -out rsa.key 2048
rsa.key:秘钥文件
2048:2048位的秘钥文件,可以选其他位第二步:根据私钥提取公钥:openssl rsa -in rsa.key -out rsa_pub.key
rsa.key :秘钥文件
rsa_pub.key :公钥文件第三步:使用公钥加密:openssl rsautl -encrypt -in test.txt -inkey rsa_pub.key -pubin -out test.rsa.enc
-encrypt :使用加密模式
test.txt :所要加密的对象文本
-inkey :使用秘钥,默认是使用私钥
rsa_pub.key :公钥文件
-pubin :使用公钥,因为使用-inkey默认是使用私钥,所以用-pubin改为使用公钥,对文本加密
test.rsa.enc :加密之后输出的文本第四步:使用秘钥解密:openssl rsautl -decrypt -in test.rsa.enc -inkey rsa.key -out test.rsa.dm
-decrypt :使用解密模式
test.rsa.enc:所要解密的对象文本
-inkey :使用秘钥,默认是使用私钥,
rsa.key:秘钥文件
test.rsa.dm:解密后输出的文件

第一步:生存2048位的秘钥文件:rsa.key ,

第二步:根据私钥提取公钥:

第三步:使用公钥加密:

第四步:利用私钥解密

黑客学习-密码学:基于openssl的算法加密和解密相关推荐

  1. php java openssl ras_php基于openssl的rsa加密解密示例

    本文实例讲述了php基于openssl的rsa加密解密.分享给大家供大家参考,具体如下: $config = array( //"config" =>"D:/php ...

  2. 【图像加密】基于Logistic混沌图像加密与解密Matlab代码

    1 简介 当今时代,科学技术发展迅猛,网络成为人们获取成为人们获取多媒体数字信息的主要渠道,数字图像作为日常交流的主要传输媒介,更是承担着信息传递的重任.保证信息在传播过程中的安全性和完整性便成了目前 ...

  3. Python基于AESSHA1PRNG 算法 加密与解密

    因工作需要,需要对aes进行加解密,收集资料时从网上找到了核心写法代码,经小量修改满足了需求. 核心加.解密代码来自原文: https://blog.csdn.net/max229max/articl ...

  4. python输出字体的大小_Python密码学编程:文件的加密与解密

    在之前的章节中,编写的程序只能操作较少的信息,这些信息往往是以字符串的形式直接写在代码中的.但本章中的程序可以对整个文件进行加密和解密,文件的大小可以包括成千上万个字符. 本章要点 open()方法. ...

  5. 使用OpenSSL进行RSA加密和解密(非对称)

    1. RSA加密和解密基础概念 RSA是一种非对称加密. RSA秘钥:私钥和公钥,一对私钥和公钥就像夫妻一样是唯一的,用私钥加密后必须用对应的公钥才能解密,用公钥加密后必须用对应的私钥才能解密. 加密 ...

  6. php signature解密,openssl RSA非对称加密、解密、签名、验签

    需要先了解的openssl系列函数 openssl_pkey_get_private 从证书中解析获取私钥,以供使用.成功,返回真实的密钥资源标识符(Resource ID),否则返回false op ...

  7. 通过文件IO的学习,实现对照片的加密与解密,干货满满!!

    关于图片文件的描述我也并不是特别了解,想具体了解的可看这篇文章添加链接描述 首先,对图片的加密解密原理来说很简单,只需要对图片文件的前几个字节进行以一定规则打乱后,就实现的加密,后面需要复原图片时将打 ...

  8. JavaScript实现AES算法加密和解密

    JavaScript的加密和解密用的是google的CryptoJS库.本文以AES/ECB/NoPadding为例展示AES加密和解密的方法. 需要下载CryptoJS库,下载地址如下: https ...

  9. 基于RHEL7进行grub加密和解密

    上一篇文档教了当我们忘记了RHEL7登录密码后如何通过紧急救援模式去修改密码,今天这篇文档将教你如何对登录密码进行grub加密和解密. 首先,我们登录一台服务器,使用grub加密命令生成一条繁琐的密码 ...

最新文章

  1. 浅谈Chatbot的架构模型和响应机制
  2. Excel导入SQL SERVER,数字和字符会被系统自动置为NULL的解决方法
  3. python绘制多个条形图_python – 在Matplotlib中绘制多个直方图 – 颜色或并排条形图...
  4. java 工厂的变形模拟的各种应用
  5. 043_Card卡片
  6. 使用关指定中断解决资源冲突问题
  7. lightning接口_Lightning太赚钱?iPhone永远不会用Type-C
  8. 判断字符串是否为回文(信息学奥赛一本通-T1146)
  9. ftps(ftp+ssl)
  10. QCC3005 实现iphone手机banner显示电量图标
  11. 抽奖活动软件 html,webAPP最常用的活动促销案例:大转盘H5抽奖特效
  12. 深度学习 | 《深度学习》“花书”知识点笔记
  13. altair edem2021仿真模拟软件
  14. 通过单击按钮实现全屏、退出全屏
  15. android 5.1 随机IMEI号
  16. Android USB 输入设备
  17. Python笔记之自定义函数
  18. 联合分布(一):什么是概率分布
  19. Windows下Git服务(Bonobo)安装
  20. 谷歌AIY项目深度揭秘:语音识别与视觉识别及神经网络AI工具!

热门文章

  1. Bug的繁殖速度真快
  2. Carsim学习心得
  3. ATI图形芯片ABC
  4. vue3项目使用自定义字体font-family
  5. uniapp全屏,去掉导航
  6. 《五天学会绘画》读后感-1至五章中
  7. 偶尔颓废也是一种必要
  8. unity导致android虚拟键,unity隐藏android机的虚拟按钮
  9. 2021年金融机构贷款投向统计报告
  10. 更进一步的了解Keil Flash的下载算法