目录

        实验原理
        实验过程
            一、对称加密
                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. [转]vue-router动态添加路由的方法,addRouter添加路由,提示:Duplicate named routes definition

    问题描述:在做使用vue-router动态添加路由的方法,addRouter添加,使用 console.log(this.$router.options.routes) 打印对象,发现添加成功,但是一 ...

  2. C Primer Plus 第6版 第七章 编程练习参考答案

    编译环境VS Code+WSL GCC 源码请到文末下载 . 注意:本章部分题目有些超纲(回用到函数调用),不理解的同学可以先去看一下后面的知识点和注释. /*第1题***************** ...

  3. 【解决问题记录】https网站中请求http资源接口报错与netERRSSLPROTOCOLERROR错误的解决

    在线上的CRM网站中,对接OBS做了一个专门的公共服务,公共服务使用的http协议,在页面中调用接口时出现错误:The page at 'xxx' was loaded over HTTPS, but ...

  4. 2025-01-08:找到按位或最接近 K 的子数组。用go语言,给定一个数组 nums 和一个整数 k,你的目标是找到一个子数组,使得该子数组中所有元素进行按位或运算后的结果与 k 之间的绝对差值尽

    2025-01-08:找到按位或最接近 K 的子数组.用go语言,给定一个数组 nums 和一个整数 k,你的目标是找到一个子数组,使得该子数组中所有元素进行按位或运算后的结果与 k 之间的绝对差值尽 ...

  5. 2024年终总结:5000 Star,10w 下载量,这是我交出的开源答卷

    你好,我是 Kagol,个人公众号:前端开源星球. 2024年,我做前端开发工作满10年啦! 这10年我一直在开发前线,做过电商项目.广告平台.项目管理系统等业务,目前主要专注于前端组件库建设和开源社 ...

  6. canal源码分析简介-3

    5.0 store模块  2018-10-08 23:14:58  8,328 7 1 store模块简介 store模块用于binlog事件的存储 ,目前开源的版本中仅实现了Memory内存模式.官 ...

  7. tar基本命令

    常用基本命令 压缩文件 # touch a.txt # tar -czvf test.tar.gz a.txt  //或  tar -czvf /path/to/file.tar.gz file 列出 ...

  8. VulNyx - System

    扫描发现 2121是ftp端口 8000 http的一个端口 6379redis端口 爆破redis的密码 爆破出来时bonjour 猜测ftp的密码和redis的密码是一样的 尝试用密码去爆出ftp ...

  9. Java中的Scanner、BufferedReader 和 StreamTokenizer

    1. Scanner 的使用与分析 简介: Scanner 是 Java 中一个用于解析原始类型(如 int.double 等)和字符串的类.它通常从输入流中逐个读取数据并进行解析,支持多种分隔符的使 ...

  10. 一体机场景ceph高可用介绍

    本文分享自天翼云开发者社区<一体机场景ceph高可用介绍>,作者:b****n 一体机场景使用ceph开源架构作为存储系统的主体架构,原生方案支持存储数据高可用性,包括副本数可以灵活控制/ ...