文件的加密与解密——Openssl的妙用:安装与使用案例

这篇具有很好参考价值的文章主要介绍了文件的加密与解密——Openssl的妙用:安装与使用案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Openssl应用——文件加解密
1. 加密简介
1.1 加密类型
1.1.1 对称加密(或者叫密钥加密)
使用一摸一样的密钥进行加解密;
优点:加解密速度快;

1.1.2 非对称加密(或者叫公钥加密)
使用不相同的密钥进行加解密;
优点:安全;
公钥加密有2组密钥:公钥和私钥。二者被称为“密钥对”;
钥:加密;
钥:解密;

2. openssl安装
依赖2个库:libssllibcrypto

将openssl-1.1.1g.tar.gz上传至任意安装的目录下:
1)tar -xzvf openssl-1.1.1g.tar.gz #解压

2)cd openssl-1.1.1g/ #进入openssl目录

3)./config #生成makefile

4)make #编译

5)make install #安装

注意:
如提示找不到libssl和libcrypto,则新建2个软链接:
1)find / -name libssl.so.1.1 #查看libssl.so.1.1所在位置

2)In -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1#对openssl源码安装目录/usr/local/openssl/lib/libssl.so.1.1和libcrypto.so.1.1进行软连接

3)执行如下命令:
openssl version
显示版本信息代表安装成功!

3. 例子
假设cad用户(192.168.100.107)要与cad1用户(192.168.100.108)加密传输secret.txt文件。
(1)cad用户:
1)创建cad用户的私钥cad_private.pem:
openssl genrsa -aes128 -out cad_private.pem 1024
注意:1024代表私钥长度是1024位
执行命令后出现设置密码的提示:Enter pass phrase for cad_private.pem:
验证密码的提示:Verifying – Enter pass phrase for cad_private.pem

2)创建cad用户的公钥cad_public.pem:
openssl rsa -in cad_private.pem -pubout > cad_public.pem

(2) cad1用户:
1)创建cad用户的私钥cad1_private.pem:
openssl genrsa -aes128 -out cad1_private.pem 1024
注意:1024代表私钥长度是1024位
执行命令后出现设置密码的提示:Enter pass phrase for cad1_private.pem:
验证密码的提示:Verifying – Enter pass phrase for cad1_private.pem

2)创建cad用户的公钥cad1_public.pem:
openssl rsa -in cad1_private.pem -pubout > cad1_public.pem

(3) 两个用户交换private.pem
1)cad用户将cad_public.pem传输给cad1用户:
scp cad_public.pem cad1@192.168.100.108:/home/cad1/

2)cad1用户将cad1_public.pem传输给cad用户:
scp cad1_public.pem cad@192.168.100.107:/home/cad1/

(4) cad用户创建需要加密的secret.txt文件
1)echo “hello, openssl” > secret.txt

2)openssl rsault -encrypt -inkey cad1_public.pem -pubin -in secret.txt -out secret.enc

3)rm -rf secret.txt #删除源文件secret.txt

4)scp secret.enc cad1@192.168.100.108:/home/cad1/

(5) cad1用户解密查看secret.txt
1)openssl rsautl -decrypt -inkey cad1_public.pem -in secret.enc > secret.txt #解密secret.enc

2)cat secret.txt #查看内容
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
最终,在cad用户将secret.txt传输给cad1用户的过程中,
cad1用户下共有如下文件:
cad_private.pem
cad_public.pem
cad1_public.pem
secret.enc
注意:secret.txt在创建secret.enc完毕后就删除了。

cad1用户下共有如下文件:
cad1_private.pem
cad1_public.pem
cad_public.pem
secret.enc
secret.txt文章来源地址https://www.toymoban.com/news/detail-838538.html

到了这里,关于文件的加密与解密——Openssl的妙用:安装与使用案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • openssl 加密(encrypt)、解密(decrypt)、签名(sign)、验证(verify)

    上述方式可以确认身份,如果我用这个公钥能解密,那一定是你发送的,因为私钥只有你有 [kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl -encrypt -inkey public.key -pubin -in test -out en-test [kyzjj@yyzc-zjjcs04 openssl]$ [kyzjj@yyzc-zjjcs04 openssl]$ openssl rsautl -decrypt -inkey private.key -in en-test hello world [kyzjj@yyzc

    2024年02月11日
    浏览(31)
  • OpenSSL 3.1.1 ECC 加密、解密、签名、验签(国密 sm2、sm3)

    openssl 3 默认废弃了 旧版本 (opessl 1.x) 的部分api 导致部分旧ecc 代码无法使用(可以通过配置编译选项打开) ,这里展示如何使用新接口用ECC 进行加密解密。 新接口是真的方便,基本上你都不需要懂啥密码学知识,对我们这种密码白痴来说太好了 头文件 生成密钥对 导出公

    2024年02月05日
    浏览(43)
  • OpenSSL加解密算法使用方法

    下面简单记录一下 Linux 上 openssl 命令的使用方法,包括 OpenSSL 中加解密算法的使用方法和性能测试方法,以便让新手朋友们能快速用起来。持续更新中 … sm3 算法 sm4 算法 加密 解密 aes 算法 加密 解密 chacha20 算法 加密 解密 sha1/sha256/sha512 算法 md5 算法 性能测试 涵盖大多数加

    2024年02月09日
    浏览(30)
  • 使用 OpenSSL 扩展来实现公钥和私钥加密

    首先,你需要生成一对公钥和私钥。可以使用 OpenSSL 工具来生成: 1、生成私钥 2、从私钥生成公钥: 现在你有了一个私钥( private_key.pem )和一个对应的公钥( public_key.pem )。下面是如何在 PHP 中使用它们进行加密和解密: 3、检测是否支付OPENSSL,或用phpinfo(); 上述代码中,

    2024年02月03日
    浏览(39)
  • C++使用openssl对AES-256-ECB PKCS7 加解密

    2024年02月03日
    浏览(27)
  • php7使用openssl_encrypt函数进行AES加密

    前言 手上有个api对接需求,要用到AES加密,要用到openssl_encrypt函数,记录一下,鉴权要求大概如下。 将明文先base64加密,后取前16位 判断字符串的字节型数据长度是否为16倍整,如不是则进行补充(PKCS#7标准) 对字符串进行AES加密后base64加密,其中 iv=A-16-Byte-String 介绍 参数

    2023年04月08日
    浏览(29)
  • OpenSSL安装使用(二):OpenSSL安装说明

    注:该方法适用于Openssl 1.1.1及以上版本 1) 安装环境 :Windows10专业版+VS201 0 相关软件下载地址: 1)ActivePerl : Download Install Perl - ActiveState 2)openssl: /source/index.html 2)安装Perl 安装perl之前可以现在命令提示符中输入perl -version指令测试是否之前已经安装过perl。如果显示下图

    2024年02月11日
    浏览(46)
  • Python(30):非对称加密算法RSA的使用(openssl生成RSA公私钥对)

    1.1、生成RSA公私钥对命令 1.2、公钥 -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfNHu9aoeNUTAZH3GCP2CQaSOg XNx0tImsIaCWBEQK3/fvUx8f17hIOtttCMrrTPWefUdcUxLIZ+xzqeU/eISsz9Ym kguImd1+bMkGIYiHBKmF5Uww2jGSU738c+AUuRKpixZP+VPekLY+KbOH7NkE2U/L XGbDeMXeiqQ22UmOSQIDAQAB -----END PUBLIC KEY----- 1.3、私钥 -----BEGIN RSA PRIVATE KEY--

    2024年02月03日
    浏览(31)
  • 流量加密之OpenSSL反弹加密

    目录 1、OpenSSL 简介 2、使用 OpenSSL 反弹加密 shell 3、使用wireshark抓包验证 4、搭建 HTTPS Server OpenSSL 是一个强大的、商业级的、功能齐全的开源工具包,用于 TLS(以前称为 SSL)、DTLS 和 QUIC(目前仅限客户端)协议,协议实现基于全功能通用加密库,也可以单独使用,还包括一

    2024年01月16日
    浏览(35)
  • 编译安装openssl及安装完openssl后使用 ssh -V 查看依然是旧版openssl原因

    Centos升级openssh8.8p1 1. 下载安装wget 2. 获取openssl源码包 3. 安装openssl 所需依赖 4. 解压编译openssl 5. 替换旧版openssl 6. 查看openssl版本 注: 安装完openssl后使用 ssh -V 查看依然是旧版openssl, 是因为openssh是rpm/yum安装的调用的openssl依旧是旧版,不影响使用。 如果看不顺眼可以编译升

    2024年02月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包