這篇文章介紹幾中加密方法,個人覺得挺有意思的,所以總結了以下.
以下簡單介紹加密的幾個命令,實現對文字的加密和解密處理:
1.生成私有金鑰,可以使用不同的數字簽名演算法
.下面分別介紹:
#採用dsa演算法
$openssl dsaparam -noout -out dsakey0.pem -genkey 1024
#採用rsa演算法
$openssl genrsa -out rsakey0.pem 1024
#與dsa
不同的是,使用
rsa演算法生成私鑰時
,需要輸入乙個密碼
,用於保護私鑰
#在使用這個私鑰進行解加
/解密時
,也需要輸入這個密碼
$openssl genrsa -des3 -out rsakey1.pem 1024
2.公鑰生成
生成dsa演算法的公鑰
$openssl dsa -in dsakey0.pem -pubout -out dsakey0-pub.pem
生成rsa演算法的公鑰
$openssl rsa -in rsakey0.pem -pubout -out rsakey0-pub.pem
3.自簽名證書的生成方法
#產生dsa
演算法的證書
$openssl req -x509 -key dsakey0.pem -days 365 -out mycert-dsa.pem -new
#產生rsa
演算法的證書
$openssl req -x509 -key rsakey0.pem -days 365 -out mycert-rsa.pem -new
5.假設有個檔案test.txt
內容如下:
$cat test.txt
aaaaaa
使用證書對明文信件進行加密,輸出到
etest.txt檔案:
$ openssl smime -encrypt -in test.txt -out etest.txt mycert-rsa.pem
檢視加密後的密文內容
$ cat etest.txt
一大串非人類看得懂的文字
使用私鑰進行解密,輸出到
dtest.txt檔案:
$ openssl smime -decrypt -in etest.txt -inkey rsakey0.pem -out dtest.txt
檢視解密後的信件內容,與原明文信件內容完全一致
$ cat dtest.txt
aaaaaa
補充一點:生成檔案的摘要
格式:openssl dgst 《演算法名稱
>
檔名
其中演算法名稱可以通過
openssl dgst -h 獲得.
我的ubunru下自帶
openssl ,
執行命令
openssl version -a
可以檢視版本號
直接在程式中包含標頭檔案,提示找不到標頭檔案
.需要在命令列在執行
sudo apt -get install libssl-dev,
此時可以進行程式設計了
.
加密的簡單介紹
編碼解碼,加密解密,摘要 1 base64 用法base64.encode content.getbytes base64.default base64.decode content.getbytes base64.default 原理 通過ascii 表和base64 的表不斷的 比對和切換 1 ...
幾種常見的加密方式介紹
密碼學在電腦科學中使用非常廣泛,https就是建立在密碼學基礎之上的一種安全的通訊協議。https早在1994年由網景公司首次提出,而如今在眾多網際網路廠商的推廣之下https已經被廣泛使用在各種大小 中。在完全理解https之前,有必要弄清楚一些密碼學相關的概念,比如 明文 密文 密碼 金鑰 對稱...
幾種加密解密演算法的介紹
sha是一種資料加密演算法 該演算法經過加密專家多年來的發展和改進已日益完善,現在已成為公認的最安全的雜湊演算法之一,並被廣泛使用。該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段 通常更小 密文,也可以簡單的理解為取一串輸入碼 稱為預對映或資訊 並把它們轉化為長度較短 位數固定的...