日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文件加密及解密openssl

發(fā)布時(shí)間:2023/11/29 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件加密及解密openssl 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Openssl是一個(gè)開源的用以實(shí)現(xiàn)SSL協(xié)議的產(chǎn)品,它主要包括了三個(gè)部分:密碼算法庫、應(yīng)用程序、SSL協(xié)議庫。Openssl實(shí)現(xiàn)了SSL協(xié)議所需要的大多數(shù)算法。

下面我將單介紹使用Openssl進(jìn)行文件的對稱加密操作。

一、Openssl支持的加密算法有:

-aes-128-cbc -aes-128-cfb -aes-128-cfb1

-aes-128-cfb8 -aes-128-ecb -aes-128-ofb

-aes-192-cbc -aes-192-cfb -aes-192-cfb1

-aes-192-cfb8 -aes-192-ecb -aes-192-ofb

-aes-256-cbc -aes-256-cfb -aes-256-cfb1

-aes-256-cfb8 -aes-256-ecb -aes-256-ofb

-aes128 -aes192 -aes256

-bf -bf-cbc -bf-cfb

-bf-ecb -bf-ofb -blowfish

-cast -cast-cbc -cast5-cbc

-cast5-cfb -cast5-ecb -cast5-ofb

-des -des-cbc -des-cfb

-des-cfb1 -des-cfb8 -des-ecb

-des-ede -des-ede-cbc -des-ede-cfb

-des-ede-ofb -des-ede3 -des-ede3-cbc

-des-ede3-cfb -des-ede3-ofb -des-ofb

-des3 -desx -desx-cbc

-rc2 -rc2-40-cbc -rc2-64-cbc

-rc2-cbc -rc2-cfb -rc2-ecb

-rc2-ofb -rc4 -rc4-40

二、Openssl加密指令語法:

SYNOPSIS

openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e]

[-d] [-a] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-p]

[-P] [-bufsize number] [-nopad] [-debug]

說明:

-chipername選項(xiàng):加密算法,Openssl支持的算法在上面已經(jīng)列出了,你只需選擇其中一種算法即可實(shí)現(xiàn)文件加密功能。

-in選項(xiàng):輸入文件,對于加密來說,輸入的應(yīng)該是明文文件;對于解密來說,輸入的應(yīng)該是加密的文件。該選項(xiàng)后面直接跟文件名。

-out選項(xiàng):輸出文件,對于加密來說,輸出的應(yīng)該是加密后的文件名;對于解密來說,輸出的應(yīng)該是明文文件名。

-pass選項(xiàng):選擇輸入口令的方式,輸入源可以是標(biāo)準(zhǔn)輸入設(shè)備,命令行輸入,文件、變量等。

-e選項(xiàng):實(shí)現(xiàn)加密功能(不使用-d選項(xiàng)的話默認(rèn)是加密選項(xiàng))。

-d選項(xiàng):實(shí)現(xiàn)解密功能。

-a和-A選項(xiàng):對文件進(jìn)行BASE64編解碼操作。

-K選項(xiàng):手動輸入加密密鑰(不使用該選項(xiàng),Openssl會使用口令自動提取加密密鑰)。

-IV選項(xiàng):輸入初始變量(不使用該選項(xiàng),Openssl會使用口令自動提取初始變量)。

-salt選項(xiàng):是否使用鹽值,默認(rèn)是使用的。

-p選項(xiàng):打印出加密算法使用的加密密鑰。

三、案例:

1. 使用aes-128-cbc算法加密文件:

openssl enc -aes-128-cbc -in install.log -out enc.log

(注:這里install.log是你想要加密的文件,enc.log是加密后的文件,回車后系統(tǒng)會提示你輸入口令)

2. 解密剛剛加密的文件:

openssl enc -d -aes-128-cbc -in enc.log -out install.log

(注:enc.log是剛剛加密的文件,install.log是解密后的文件,-d選項(xiàng)實(shí)現(xiàn)解密功能)

3.加密文件后使用BASE64格式進(jìn)行編碼:

openssl enc -aes-128-cbc -in install.log -out enc.log -a

4.使用多種口令輸入方式加密:

openssl enc -des-ede3-cbc -in install.log -out enc.log -pass pass:111111

(這種方式的好處是你可以把它寫入到腳本中,自動完成加密功能,不使用pass選項(xiàng)默認(rèn)系統(tǒng)會提示輸入口令,并且確認(rèn),是需要人工操作的)

四、Openssl的功能還遠(yuǎn)不只于此,感興趣的朋友可以參考Openssl的手冊學(xué)習(xí)。在Linux系統(tǒng)中你可以通過:man openssl 快速獲得幫助文件。

?

例:對文件file.tar.gz進(jìn)行加密,密碼為123456

openssl des3 -salt -k 123456 -in file.tar.gz -out file.tar.gz.des3

?

對file.tar.gz.des3 解密

openssl enc -des3 -d -in file.tar.gz.des3 -out file.tar.gz

本文出自 “一陣風(fēng)” 博客

轉(zhuǎn)載于:https://www.cnblogs.com/yaohunzhanyue/articles/5549871.html

總結(jié)

以上是生活随笔為你收集整理的文件加密及解密openssl的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。