首页 > 系统相关 >openssl基础使用(密码学 linux)

openssl基础使用(密码学 linux)

时间:2023-10-20 15:00:15浏览次数:40  
标签:enc 加密 openssl rsa linux test 密码学 out


目录

        实验原理
        实验过程
            一、对称加密
                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

标签:enc,加密,openssl,rsa,linux,test,密码学,out
From: https://www.cnblogs.com/lcword/p/17777124.html

相关文章

  • 小明哥学linux驱动之USB-OTG(基于gadget框架)【转】
    转自:https://blog.csdn.net/silence3039/article/details/100187666一、简介OTG是On-The-Go的缩写。其设计的初衷是为了两个“外设”在没有PC(Host)的情况下,也可以通过USB进行数据传输。可以理解为,拥有OTG功能的USB设备(OTG设备)既可以做host,也可以做peripheral。二、OTG基本结构2......
  • linux上部署ftp server
    在github上找到了2个还算活跃的方案:https://github.com/fauria/docker-vsftpdhttps://github.com/stilliard/docker-pure-ftpd方案一  https://github.com/fauria/docker-vsftpd1、创建容器dockerrun-d-v/my/data/directory:/home/vsftpd\-p20:20-p21:21-p2110......
  • Linux学习-1
    学习笔记-命令汇总文件管理绝对路径 cd以绝对路径进入某个文件夹  pwd查看当前工作目录的绝对路径相对路径 cd ..表示当前目录的上层目录,.表示当前目录 目录操作创建:mkdir (-p创建多层目录)查看:pwd(当前所在目录)(-p实际工作目录)ls-a查看隐藏的目录与文件 ls......
  • openssl api使用
    实验要求参考https://blog.csdn.net/bruce135lee/article/details/81811403调用OpenSSLAPI0推荐在openEuler中实现,参考https://www.cnblogs.com/rocedu/p/6012545.html第三节1提交相关代码码云(或github)链接2提交不少于6张编译测试过程截图3至少包含SM4,SM3的测试代码......
  • Linux升级openssl、openssh
     在项目中,我们经常会发现Linux系统中OpenSSH、OpenSSL存在高危漏洞,如OpenSSL“心脏出血”漏洞,利用该漏洞,黑客可以获取约30%的https开头网址的用户登录账号密码,其中包括购物、网银、社交、门户等类型的知名网站等。以及OpenSSH漏洞,如“OpenSSH远程代码执行漏洞CVE-2016-10009......
  • 实验二 OpenSSL API使用
    sm3代码#include<stdio.h>#include<openssl/evp.h>#include<openssl/err.h>#include<openssl/rand.h>voidhandleErrors(void){ERR_print_errors_fp(stderr);abort();}voidtest_sm3(){unsignedchardata[]="Hel......
  • Linux命令(90)之cp
    linux命令之cp1.cp介绍linux命令cp是用来复制文件或目录2.cp用法cp[参数]scrdestcp常用参数参数说明-a保留文件的属性,进行递归复制,相当于-pdr-f强制复制,不提示3.实例3.1.复制1.txt文件至ztj目录命令:cp-a1.txtztj/[root@centos79-3~]#ls1.txt1.txt[root@centos79-3......
  • Linux命令(89)之xargs
    linux命令之xargs1.xargs介绍linux命令xargs是从标准输入(管道或stdin、输入重定向)获取数据,并将数据转换成命令行的参数简单理解就是find管道|后面接文件,就需要xargs。假如|前面输入的是文字、字符串就不需要接xargs2.xargs用法xargs[参数]xargs常用参数参数说明-n数字分组......
  • 11、Linux文件与目录权限
    Linux文件与目录权限目录Linux文件与目录权限一、Linux文件基本属性1、文件介绍2、Linux文件属主和属组二、更改文件属性1、chmod命令2、chown命令3、chgrp命令4、chattr命令5、lsattr命令三、其他1、权限掩码2、特殊权限①SBIT(粘滞位)②SUID(属主特殊权限)③SGID(属组特殊权限)3、fi......
  • Linux-git
    目录git简介git常用命令配置初始化仓库将文件添加到暂存区将暂存区文件加入版本库对比工作区某文件和暂存区中的区别将暂存区的文件移除但git仍管理将文件移除暂存区并且git不再管理查看版本库切换到之前的版本恢复文件持久化云端将本地的项目推送到远程仓库将远程仓库的文件克隆......