目录

        实验原理
        实验过程
            一、对称加密
                1、使用rc4加解密
                2、使用AES加解密
                3、使用3DES加解密
            二、非对称加密
                1、RSA加解密码

实验原理

openssl是Linux内置的一款开源工具,实现了常见的密码算法与应用。通过openssl操作,完成各种密码算法的应用。
实验过程

创建一个文件,用于被加密,文件内容为12345,文件名为test.txt

echo 12345 >test.txt

    1

在这里插入图片描述
一、对称加密
1、使用rc4加解密

加密

openssl enc -e -rc4 -in test.txt -out test_rc4.enc

    1

在这里插入图片描述
这是第一个是设置密码,第二个是重复输入密码。两次必须一样。
加密完后利用 ll 命令就可以看见。
我们可以cat 查看一下这个文件
在这里插入图片描述
解密

openssl enc -d -rc4 -in test_rc4.enc -out test_rc4.dm

    1

解密完以后依旧是打开输出文件看一下,发现已经成功解密了。
在这里插入图片描述
2、使用AES加解密

这和上面加密过程也差不多,加密时设置密码,两遍要相同。

openssl enc -e -aes-128-cbc -a -salt -in test.txt -out test_aes128.enc

    1

在这里插入图片描述
解密

openssl enc -d -aes-128-cbc -a -salt -in test_aes128.enc -out test_aes128.d

    1

在这里插入图片描述
3、使用3DES加解密

加密

openssl enc -e -des3 -a -salt -in test.txt -out test_des3.enc

    1

在这里插入图片描述

解密

openssl enc -d -des3 -a -salt -in test_des3.enc -out test_des3.d

    1

在这里插入图片描述
二、非对称加密
1、RSA加解密码

生成RSA密钥对

openssl genrsa -out rsa.key 1024

    1

在这里插入图片描述

导出公钥

openssl rsa -in rsa.key -pubout -out rsa_pub.key

    1

在这里插入图片描述
此时可以 ll 查看一下:
在这里插入图片描述

使用公钥加密文件

openssl rsautl -encrypt -in test.txt -inkey rsa_pub.key -pubin -out test_rsa.enc

    1

在这里插入图片描述

使用私解解密文件

openssl rsautl -decrypt -in test_rsa.enc -inkey rsa.key -out test_rsa.c

    1

在这里插入图片描述

    这里需要注意的是,解密命令用的文件和加密时不一样,加密时用的是导出的公钥,而解密是用的直接是生成的密钥对文件。

使用公钥解密报错

openssl rsautl -decrypt -in test_rsa.enc -inkey rsa_pub.key -out test_rsa.c

    1

在这里插入图片描述
————————————————
版权声明:本文为CSDN博主「一青一柠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_56438857/article/details/126028798

openssl基础使用(密码学 linux)的更多相关文章

  1. Docker基础技术:Linux Namespace(下)

    在 Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中,主 ...

  2. Docker 基础技术:Linux Namespace(下)

    导读 在Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中 ...

  3. 转:一份基础的嵌入式Linux工程师笔试题

    一. 填空题: 1. 一些Linux命令,显示文件,拷贝,删除 Ls cp rm 2. do……while和while……do有什么区别? 3. Linux系统下.ko文件是什么文件?.so文件是什么 ...

  4. Docker 基础技术之 Linux cgroups 详解

    PS:欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 推荐大家到公众号阅读,那里阅读体验更好,也沉淀了很多篇干货. 前面两篇 ...

  5. Linux入门基础教程之Linux下软件安装

    Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...

  6. OpenSSL基础知识

    1.openssl里的fips是什么意思? openssl-fips是符合FIPS标准的Openssl. 联邦信息处理标准(Federal Information Processing Standar ...

  7. Docker基础技术:Linux CGroup

    前面,我们介绍了Linux Namespace,但是Namespace解决的问题主要是环境隔离的问题,这只是虚拟化中最最基础的一步,我们还需要解决对计算机资源使用上的隔离.也就是说,虽然你通过Name ...

  8. Docker基础技术:Linux Namespace(上)

    时下最热的技术莫过于Docker了,很多人都觉得Docker是个新技术,其实不然,Docker除了其编程语言用go比较新外,其实它还真不是个新东西,也就是个新瓶装旧酒的东西,所谓的The New “O ...

  9. 基础知识全面LINUX

    学习Linux系统的重要性应该不用多说,下面我就对Linux的基础知识进行一个全面而又简单的总结.不过建议大家还是装个Linux系统多练习,平时最好只在Linux环境下编程,这样会大有提高. linu ...

  10. Netty基础系列(1) --linux网路I/O模型

    引言 我一直认为对于java的学习,掌握基础的性价比要远远高于使用框架,而基础知识中对于网络相关知识的掌握也是重中之重.对于一个java程序来说,无论是工作中还是面试,对于Netty的掌握都是及其重要 ...

随机推荐

  1. JAVA Swing日期选择控件datepicker的使用

    声明:本控件来自互联网,仅可应用于个人项目,不可商用,如您未遵守造成的任何问题请自行承担点击下载 datepicker.jar 使用方法1.导入 在eclipse中,单击你的项目名,右键–>Bu ...

  2. 视频分析框架VideoPipe完整介绍

    (2024年4月编写) github地址 https://github.com/sherlockchou86/video_pipe_c 作者微信 zhzhi78(备注 videopipe),拉群交流( ...

  3. 化繁为简、性能提升 -- 在WPF程序中,使用Freetype库心得

    本人使用WPF开发了一款OFD阅读器,显示字体是阅读器中最重要的功能.处理字体显示有多种方案,几易其稿,最终选用Freetype方案.本文对WPF中如何使用Freetype做简单描述. OFD中有两种 ...

  4. AsyncLocal的妙用

    AsyncLocal<T>是一个在.NET中用来在同步任务和异步任务中保持全局变量的工具类. 它允许你在不同线程的同一个对象中保留一个特定值,这样你可以在不同的函数和任务中访问这个值. 这 ...

  5. java技术架构图

    架构图有哪几种 业务架构:需求初期业务的结果和过程描述一般比较模糊,可能来自于某个老板.运营或用户的反馈.客户说海尔洗衣机洗土豆会堵,海尔立马设计专门的土豆洗衣机 业务方向往往是定方向和结果的叫战略, ...

  6. 深入浅出:Agent如何调用工具——从OpenAI Function Call到CrewAI框架

    深入浅出:Agent如何调用工具--从OpenAI Function Call到CrewAI框架 嗨,大家好!作为一个喜欢折腾AI新技术的算法攻城狮,最近又学习了一些Agent工作流调用工具的文章,学 ...

  7. VAE模型简析和精要(原理和代码)

    1. 前言 这篇博客主要用于记录VAE的原理部分. 一方面便于日后自己的温故学习,另一方面也便于大家的学习和交流. 如有不对之处,欢迎评论区指出错误,你我共同进步学习! 图均引用自4部分的博客!!!! ...

  8. 深入解析 Spring AI 系列:解析请求参数处理

    大家在使用Spring AI项目开发Agent时,可能会发现,尽管外层的接口设计和调用逻辑比较统一,但实际上每个第三方接口在实现时都会有一些微妙的差异.这些差异可能体现在请求参数的构造.数据格式的处理 ...

  9. 微信小程序上拉触底事件onReachBottom不触发的解决方案

    1.配置属性问题 //设置容器高度为100% page{ height: 100% } 2. 切换页面时 滚动条滚回到顶部 //切换页面时调用API wx.pageScrollTo({ scrollT ...

  10. flutter设置导航栏顶部标题与组件Text和Center和Container详解

    无状态组件和有状态组件的介绍 StatelessWidget 是无状态组件,状态是不可以改变的 StatefulWidget 是有状态组件 持有的状态可能在 widge 生命周期中改变 Statele ...