當前位置:首頁 » 密碼管理 » linux加密openssl

linux加密openssl

發布時間: 2023-03-06 13:35:14

linux進行md5加密

互動式輸入

管道標准輸入處理

對文件處理

利用openssl進行BASE64編碼解碼、md5/sha1摘要、AES/DES3加密解密

針對文件

對字元串『abc』進行aes加密,使用密鑰123,輸出結果以base64編碼格式給出:

對字元串『abc』進行des3加密,使用密鑰123,輸出結果以base64編碼格式給出:

Ⅱ 如何在Linux系統上加密

打開虛擬機,進入安裝好的Linux系統,創建一個屬於自己的目錄,這里我創建的是test

在創建的目錄中新建一個文件,名字為test.txt

在文件中輸入「北京歡迎你」,然後保存

執行openssl加密命令
openssl enc -des-ede3-cbc -in test.txt -out JMtest.txt -k 12345678

查看生成的文件JMtest.txt,發現是亂碼,說明已經加密成功

然後執行openssl的解密命令
openssl enc -des-ede3-cbc -in JMtest.txt -out test_after.txt -d -k 12345678

查看生成的文件test_after.txit,可以清楚的看到「北京歡迎你」,說明解密成功

Ⅲ Linux-SSL和SSH和OpenSSH,OpenSSL有什麼區別

ssl是通訊鏈路的附加層。可以包含很多協議。https, ftps, .....
ssh只是加密的shell,最初是用來替代telnet的。通過port forward,也可以讓其他協議通過ssh的隧道而起到加密的效果。
SSL是一種國際標準的加密及身份認證通信協議,您用的瀏覽器就支持此協議。SSL(Secure Sockets Layer)最初是由美國Netscape公司研究出來的,後來成為了Internet網上安全通訊與交易的標准。SSL協議使用通訊雙方的客戶證書以及CA根證書,允許客戶/伺服器應用以一種不能被偷聽的方式通訊,在通訊雙方間建立起了一條安全的、可信任的通訊通道。它具備以下基本特徵:信息保密性、信息完整性、相互鑒定。 主要用於提高應用程序之間數據的安全系數。SSL協議的整個概念可以被總結為:一個保證任何安裝了安全套接字的客戶和伺服器間事務安全的協議,它涉及所有TC/IP應用程序。

SSH的英文全稱是Secure SHell。通過使用SSH,你可以把所有傳輸的數據進行加密,這樣「中間人」這種攻擊方式就不可能實現了,而且也能夠防止DNS和IP欺騙。還有一個額外的好處就是傳輸的數據是經過壓縮的,所以可以加快傳輸的速度。SSH有很多功能,它既可以代替telnet,又可以為ftp、pop、甚至ppp提供一個安全的「通道」。SSH是由客戶端和服務端的軟體組成的,有兩個不兼容的版本分別是:1.x和2.x。用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務程序上去的。OpenSSH 2.x同時支持SSH 1.x和2.x。SSH的安全驗證是如何工作的從客戶端來看,SSH提供兩種級別的安全驗證。第一種級別(基於口令的安全驗證)只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的伺服器就是你想連接的伺服器。可能會有別的伺服器在冒充真正的伺服器,也就是受到「中間人」這種方式的攻擊。第二種級別(基於密匙的安全驗證)需要依靠密匙,也就是你必須為自己創建一對密匙,並把公用密匙放在需要訪問的伺服器上。如果你要連接到SSH伺服器上,客戶端軟體就會向伺服器發出請求,請求用你的密匙進行安全驗證。伺服器收到請求之後,先在你在該伺服器的家目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,伺服器就用公用密匙加密「質詢」(challenge)並把它發送給客戶端軟體。客戶端軟體收到「質詢」之後就可以用你的私人密匙解密再把它發送給伺服器。用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網路上傳送口令。第二種級別不僅加密所有傳送的數據,而且「中間人」這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒。
OpenSSL------一個C語言函數庫,是對SSL協議的實現。
OpenSSH-----是對SSH協議的實現。
ssh 利用 openssl 提供的庫。openssl 中也有個叫做 openssl 的工具,是 openssl 中的庫的命令行介面。
編譯依賴上看:
openssh依賴於openssl,沒有openssl的話openssh就編譯不過去,也運行不了。
HTTPS可以使用TLS或者SSL協議,而openssl是TLS、SSL協議的開源實現,提供開發庫和命令行程序。openssl很優秀,所以很多涉及到數據加密、傳輸加密的地方都會使用openssl的庫來做。
可以理解成所有的HTTPS都使用了openssl。以root身份執行命令:grep -l 'libssl.*deleted' /proc/*/maps | tr -cd 0-9\\n | xargs -r ps u,可以看到哪些進程載入了老版本的openssl庫。

Ⅳ Linux裡面openssl作用是什麼

主要是用來安全的。
openssl命令 – 加密演算法
openSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。對應的命令就是openssl命令,用於加密演算法。《Linux就該這么學》
語法格式:openssl [參數]
舉例子:
用SHA1演算法計算文件file.txt的哈西值,輸出到stdout:
# openssl dgst -sha1 file.txt

Ⅳ OpenSSL 入門:密碼學基礎知識


本文是使用 OpenSSL 的密碼學基礎知識的兩篇文章中的第一篇,OpenSSL 是在 Linux 和其他系統上流行的生產級庫和工具包。(要安裝 OpenSSL 的最新版本,請參閱 這里 。)OpenSSL 實用程序可在命令行使用,程序也可以調用 OpenSSL 庫中的函數。本文的示常式序使用的是 C 語言,即 OpenSSL 庫的源語言。

本系列的兩篇文章涵蓋了加密哈希、數字簽名、加密和解密以及數字證書。你可以從 我的網站 的 ZIP 文件中找到這些代碼和命令行示例。

讓我們首先回顧一下 OpenSSL 名稱中的 SSL。

安全套接字層 (Secure Socket Layer)(SSL)是 Netscape 在 1995 年發布的一種加密協議。該協議層可以位於 HTTP 之上,從而為 HTTPS 提供了 S: 安全(secure)。SSL 協議提供了各種安全服務,其中包括兩項在 HTTPS 中至關重要的服務:

SSL 有多個版本(例如 SSLv2 和 SSLv3),並且在 1999 年出現了一個基於 SSLv3 的類似協議 傳輸層安全性(Transport Layer Security)(TLS)。TLSv1 和 SSLv3 相似,但不足以相互配合工作。不過,通常將 SSL/TLS 稱為同一協議。例如,即使正在使用的是 TLS(而非 SSL),OpenSSL 函數也經常在名稱中包含 SSL。此外,調用 OpenSSL 命令行實用程序以 openssl 開始。

除了 man 頁面之外,OpenSSL 的文檔是零零散散的,鑒於 OpenSSL 工具包很大,這些頁面很難以查找使用。命令行和代碼示例可以將主要主題集中起來。讓我們從一個熟悉的示例開始(使用 HTTPS 訪問網站),然後使用該示例來選出我們感興趣的加密部分進行講述。

此處顯示的 client 程序通過 HTTPS 連接到 Google:

可以從命令行編譯和執行該程序(請注意 -lssl 和 -lcrypto 中的小寫字母 L):

該程序嘗試打開與網站 www.google.com 的安全連接。在與 Google Web 伺服器的 TLS 握手過程中,client 程序會收到一個或多個數字證書,該程序會嘗試對其進行驗證(但在我的系統上失敗了)。盡管如此,client 程序仍繼續通過安全通道獲取 Google 主頁。該程序取決於前面提到的安全工件,盡管在上述代碼中只著重突出了數字證書。但其它工件仍在幕後發揮作用,稍後將對它們進行詳細說明。

通常,打開 HTTP(非安全)通道的 C 或 C++ 的客戶端程序將使用諸如文件描述符或網路套接字之類的結構,它們是兩個進程(例如,這個 client 程序和 Google Web 伺服器)之間連接的端點。另一方面,文件描述符是一個非負整數值,用於在程序中標識該程序打開的任何文件類的結構。這樣的程序還將使用一種結構來指定有關 Web 伺服器地址的詳細信息。

這些相對較低級別的結構不會出現在客戶端程序中,因為 OpenSSL 庫會將套接字基礎設施和地址規范等封裝在更高層面的安全結構中。其結果是一個簡單的 API。下面首先看一下 client 程序示例中的安全性詳細信息。

在與 Web 伺服器握手期間,client 程序會接收一個或多個數字證書,以認證伺服器的身份。但是,client 程序不會發送自己的證書,這意味著這個身份驗證是單向的。(Web 伺服器通常配置為 需要客戶端證書)盡管對 Web 伺服器證書的驗證失敗,但 client 程序仍通過了連接到 Web 伺服器的安全通道繼續獲取 Google 主頁。

為什麼驗證 Google 證書的嘗試會失敗?典型的 OpenSSL 安裝目錄為 /etc/ssl/certs,其中包含 ca-certificates.crt 文件。該目錄和文件包含著 OpenSSL 自帶的數字證書,以此構成 信任庫(truststore)。可以根據需要更新信任庫,尤其是可以包括新信任的證書,並刪除不再受信任的證書。

client 程序從 Google Web 伺服器收到了三個證書,但是我的計算機上的 OpenSSL 信任庫並不包含完全匹配的證書。如目前所寫,client 程序不會通過例如驗證 Google 證書上的數字簽名(一個用來證明該證書的簽名)來解決此問題。如果該簽名是受信任的,則包含該簽名的證書也應受信任。盡管如此,client 程序仍繼續獲取頁面,然後列印出 Google 的主頁。下一節將更詳細地介紹這些。

讓我們從客戶端示例中可見的安全工件(數字證書)開始,然後考慮其他安全工件如何與之相關。數字證書的主要格式標準是 X509,生產級的證書由諸如 Verisign 的 證書頒發機構(Certificate Authority)(CA)頒發。

數字證書中包含各種信息(例如,激活日期和失效日期以及所有者的域名),也包括發行者的身份和數字簽名(這是加密過的加密哈希值)。證書還具有未加密的哈希值,用作其標識指紋。

哈希值來自將任意數量的二進制位映射到固定長度的摘要。這些位代表什麼(會計報告、小說或數字電影)無關緊要。例如, 消息摘要版本 5(Message Digest version 5)(MD5)哈希演算法將任意長度的輸入位映射到 128 位哈希值,而 SHA1( 安全哈希演算法版本 1(Secure Hash Algorithm version 1))演算法將輸入位映射到 160 位哈希值。不同的輸入位會導致不同的(實際上在統計學上是唯一的)哈希值。下一篇文章將會進行更詳細的介紹,並著重介紹什麼使哈希函數具有加密功能。

數字證書的類型有所不同(例如根證書、中間證書和最終實體證書),並形成了反映這些證書類型的層次結構。顧名思義,根證書位於層次結構的頂部,其下的證書繼承了根證書所具有的信任。OpenSSL 庫和大多數現代編程語言都具有 X509 數據類型以及處理此類證書的函數。來自 Google 的證書具有 X509 格式,client 程序會檢查該證書是否為 X509_V_OK。

X509 證書基於 公共密鑰基礎結構(public-key infrastructure)(PKI),其中包括的演算法(RSA 是佔主導地位的演算法)用於生成密鑰對:公共密鑰及其配對的私有密鑰。公鑰是一種身份: Amazon 的公鑰對其進行標識,而我的公鑰對我進行標識。私鑰應由其所有者負責保密。

成對出現的密鑰具有標准用途。可以使用公鑰對消息進行加密,然後可以使用同一個密鑰對中的私鑰對消息進行解密。私鑰也可以用於對文檔或其他電子工件(例如程序或電子郵件)進行簽名,然後可以使用該對密鑰中的公鑰來驗證簽名。以下兩個示例補充了一些細節。

在第一個示例中,Alice 將她的公鑰分發給全世界,包括 Bob。然後,Bob 用 Alice 的公鑰加密郵件,然後將加密的郵件發送給 Alice。用 Alice 的公鑰加密的郵件將可以用她的私鑰解密(假設是她自己的私鑰),如下所示:

理論上可以在沒有 Alice 的私鑰的情況下解密消息,但在實際情況中,如果使用像 RSA 這樣的加密密鑰對系統,則在計算上做不到。

現在,第二個示例,請對文檔簽名以證明其真實性。簽名演算法使用密鑰對中的私鑰來處理要簽名的文檔的加密哈希:

假設 Alice 以數字方式簽署了發送給 Bob 的合同。然後,Bob 可以使用 Alice 密鑰對中的公鑰來驗證簽名:

假若沒有 Alice 的私鑰,就無法輕松偽造 Alice 的簽名:因此,Alice 有必要保密她的私鑰。

在 client 程序中,除了數字證書以外,這些安全性都沒有明確展示。下一篇文章使用使用 OpenSSL 實用程序和庫函數的示例填充更多詳細的信息。

同時,讓我們看一下 OpenSSL 命令行實用程序:特別是在 TLS 握手期間檢查來自 Web 伺服器的證書的實用程序。調用 OpenSSL 實用程序可以使用 openssl 命令,然後添加參數和標志的組合以指定所需的操作。

看看以下命令:

該輸出是組成 加密演算法套件(cipher suite)()的相關演算法的列表。下面是列表的開頭,加了澄清首字母縮寫詞的注釋:

下一條命令使用參數 s_client 將打開到 www.google.com 的安全連接,並在屏幕上顯示有關此連接的所有信息:

諸如 Google 之類的主要網站通常會發送多個證書進行身份驗證。

輸出以有關 TLS 會話的摘要信息結尾,包括加密演算法套件的詳細信息:

client 程序中使用了協議 TLS 1.2,Session-ID 唯一地標識了 openssl 實用程序和 Google Web 伺服器之間的連接。Cipher 條目可以按以下方式進行解析:

加密演算法套件正在不斷發展中。例如,不久前,Google 使用 RC4 流加密演算法(RSA 的 Ron Rivest 後來開發的 Ron』s Cipher 版本 4)。 RC4 現在有已知的漏洞,這大概部分導致了 Google 轉換為 AES128。

我們通過安全的 C Web 客戶端和各種命令行示例對 OpenSSL 做了首次了解,使一些需要進一步闡明的主題脫穎而出。 下一篇文章會詳細介紹 ,從加密散列開始,到對數字證書如何應對密鑰分發挑戰為結束的更全面討論。

via: https://opensource.com/article/19/6/cryptography-basics-openssl-part-1

作者: Marty Kalin 選題: lujun9972 譯者: wxy 校對: wxy

Ⅵ 如何在linux使用md5對其進行加密

這里以字元串123456為例子,它的md5密文值為:x0dx0a這里以1.txt為需要被加密的文件。x0dx0ax0dx0a一、用oppnsslmd5加密字元串和文件的方法。x0dx0a1.oppnsslmd5加密字元串的方法x0dx0aa.手動輸入命令及過程如下:x0dx0a#openssl//在終端中輸入openssl後回車。x0dx0aOpenSSL>md5//輸入md5後回車x0dx0a123456//接著輸入123456,不要輸入回車。然後按3次ctrl+d。x0dx0a123456//123456後面的就是密文了x0dx0a解釋:為何在輸入123456後不回車呢?x0dx0a是因為openssl默認會把回車符當做要加密的字元串中的一個字元,所以得到的結果不同。如果你輸入123456後回車,在按2次ctrl+d。得到的結果是:x0dx0aOpenSSL>md5x0dx0a123456x0d//因為openssl不忽略回車符導致的x0dx0ab.或者直接用管道命令x0dx0a#echo-n123456|opensslmd5//必須要有-n參數,否則就不是這個結果了。x0dx0ax0dx0a解釋:為何要加-n這個參數?x0dx0a-n就表示不輸入回車符,這樣才能得到正確的結果。如果你不加-n,那麼結果和前面說的一樣為:x0d//因為openssl不忽略回車符導致的x0dx0a2.用openssl加密文件。x0dx0a#opensslmd5-in1.txtx0dx0ax0dx0a##################################################3x0dx0aOpenssl其他相關加密的命令參數:引自:實用命令:利用openssl進行BASE64編碼解碼、md5/sha1摘要、AES/DES3加密解密收藏x0dx0a一.利用openssl命令進行BASE64編碼解碼(base64encode/decode)x0dx0a1.BASE64編碼命令x0dx0a對字元串『abc』進行base64編碼:x0dx0a#echoabc|opensslbase64x0dx0aYWJjCg==(編碼結果)x0dx0a如果對一個文件進行base64編碼(文件名t.txt):x0dx0a#opensslbase64-int.txtx0dx0a2.BASE64解碼命令x0dx0a求base64後的字元串『YWJjCg==』的原文:x0dx0a#echoYWJjCg==|opensslbase64-dx0dx0aabc(解碼結果)x0dx0a如果對一個文件進行base64解碼(文件名t.base64):x0dx0a#opensslbase64-d-int.base64x0dx0a二.利用openssl命令進行md5/sha1摘要(digest)x0dx0a1.對字元串『abc』進行md5摘要計算:echoabc|opensslmd5x0dx0a若對某文件進行md5摘要計算:opensslmd5-int.txtx0dx0a2.對字元串『abc』進行sha1摘要計算:echoabc|opensslsha1x0dx0a若對某文件進行sha1摘要計算:opensslsha1-int.txtx0dx0a三.利用openssl命令進行AES/DES3加密解密(AES/DES3encrypt/decrypt)x0dx0a對字元串『abc』進行aes加密,使用密鑰123,輸出結果以base64編碼格式給出:x0dx0a#echoabc|opensslaes-128-cbc-k123-/JA2dhN4mtiotwD7jt4g=(結果)x0dx0a對以上結果進行解密處理:x0dx0a#echoU2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g=|opensslaes-128-cbc-d-k123-base64x0dx0aabc(結果)x0dx0a若要從文件里取原文(密文)進行加密(解密),只要指定-in參數指向文件名就可以了。x0dx0a進行des3加解密,只要把命令中的aes-128-cbc換成des3就可以了。x0dx0a註:只要利用opensslhelp就可以看到更多的安全演算法了。x0dx0a###############################################x0dx0ax0dx0a二、利用php的md5函數加密字元串x0dx0a#toucha.php//創建a.php文件x0dx0a#via.php//用vi編輯a.php文件x0dx0a將輸入進去後保存x0dx0a#phpa.php//運行a.php文件x0dx0a顯示:x0dx0a三、利用md5sum命令x0dx0aA.在linux或Unix上,md5sum是用來計算和校驗文件報文摘要的工具程序。一般來說,安裝了Linux後,就會有md5sum這個工具,直接在命令行終端直接運行。可以用下面的命令來獲取md5sum命令幫助manmd5sumx0dx0a#md5sum_helpx0dx0a有個提示:「WithnoFILE,orwhenFILEis-,readstandardinput.」翻譯過來就是「如果沒有輸入文件選項或者文件選項為-,則從標磚讀取輸入內容」,即可以直接從鍵盤讀取字元串來加密。x0dx0a利用md5sum加密字元串的方法x0dx0a#md5sum//然後回車x0dx0a123456//輸入123456.然後按兩次ctrl+d.x0dx0a顯示:x0dx0a123456紅色代表加密後的值x0dx0a還可以用管道命令:x0dx0a#echo-n�'|md5sumx0dx0ax0dx0a或者寫成md5加密腳本,名字叫md5.sh,x0dx0a將以下內容復制進腳本里:x0dx0a#!/bin/bashx0dx0aecho-n$1|md5sum|awk'{print$1}'x0dx0ax0dx0a保存後,給腳本執行許可權。x0dx0a#shmd5.sh123456x0dx0a顯示:x0dx0aB.其實也可以將文本放入文本文件,然後用md5sum加密改文本,也可以得到字元串加密的值。過程如下:x0dx0a#toucha.txtx0dx0a#echo-n123456>a.txt//將123456寫進文本文件,不能丟了_n參數,避免回車符干擾x0dx0a#md5suma.txtx0dx0a顯示:a.txtx0dx0ax0dx0actrl+d有兩個含義:x0dx0a一是向程序發送文件輸入結束符EOF。x0dx0a二是向程序發送exit退出指令。程序收到信號後具體動作是結束輸入、然後等待,還是直接退出,那就要看該程序捕獲信號後是如何操作的了。x0dx0amd5sum屬於第一個含義。兩次strl+d了,第一次讀取EOF指令,再次捕獲就會當成exit指令。而shell一類的程序,會直接把ctrl+d解析為退出指令。

Ⅶ linux 可以openssl嗎

Openssl是用來生成一個密鑰的,我們通常是成對出來了,下面一起來看看在linux 下Openssl的安裝配置與使用方法,希望對各位有用。
1. Openssl介紹
自己網上找去吧,我說的不好!
2. 安裝
1、下載地址:http://www.openssl.org/source/ ;下一個最新新版本的OpenSSL,版本是:openssl-1.0.2-beta1.tar.gz
2、在下載的目錄中,用命令執行:tar -xzf openssl-openssl-1.0.2-beta1.tar.gz
3、進入解壓的目錄:openssl-1.0.2-beta1 [.......]#cd openssl-1.0.2-beta1
4、[.....openssl-1.0.2-beta1]# ./config --prefix=/usr/local/openssl
5、[...../openssl-1.0.2-beta1]# ./config -t
6、[...../openssl-1.0.2-beta1]# make depend (時間很長)
7、[.../openssl-1.0.2-beta1]# make (時間很長,慢慢等待)
8、[.../openssl-1.0.2-beta1]# maketest
9、[.../openssl-1.0.2-beta1]# makeinstall
10、[...../openssl-1.0.2-beta1]# cd /usr/local
11、[/usr/local]# ln -s openssl ssl
12、在/etc/ld.so.conf文件的最後面,添加如下內容:/usr/local/openssl/lib
13...]# ldconfig
14添加OPESSL的環境變數:
在etc/的profile的最後一行,添加:
export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin
15退出命令界面,再從新登錄。
16、以上OPENSSL就安裝完畢,下面進行一些檢查。
17依次如下執行:
[root@localhost /]# cd /usr/local
[root@localhost local]# ldd /usr/local/openssl/bin/openssl
會出現類似如下信息:
linux-vdso.so.1 => (0x00007fff3bc73000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc5385d7000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc538279000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc5387db000)
18查看路徑
...]# which openssl
/usr/local/openssl/bin/openssl
19、...]# openssl version
OpenSSL 1.0.2-beta1 24 Feb 2014
3. 錯誤情況
自己寫的程序出現這個(fatal error: openssl/sha.h: No such fileor directory)或者相似的問題,一開始以為是環境變數的問題,重裝了幾次,後來差了網路才知道問題所在,都是沒有安裝libssl-dev,libssl-dev包含libraries, header files and manpages,他是openssl的一部分,而openssl對ssl進行了實現。解決方案:使用sudo apt-get install libssl-dev來安裝libssl-dev即可註:部分為網上抄襲!

下面來看使用方法,生成RSA
3.1 公私鑰對生成
命令解析:openssl genrsa[-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4][-3] [-rand file(s)] [numbits]
OPTIONS
-out filename 私有密鑰輸入文件名,預設為標准輸出。
-passout arg 參看指令dsa裡面的passout參數說明 -des|-des3|-idea 採用什麼加密演算法來加密我們的密鑰。一般會要你輸入保護密碼。 如果這三個中一個也沒set, 我們的密鑰將不被加密而輸入。
-F4|-3 使用的公共組件,一種是3, 一種是F4, 我也沒弄懂這個option是什麼意思。
-randfile(s) 產生key的時候用過seed的文件,可以把多個文件用冒號分開一起做seed.
-numbits 指明產生的參數的長度。必須是本指令的最後一個參數。如果沒有指明,則產生512bit長的參數。 研究過RSA演算法的人肯定知道,RSA的私有密鑰其實就是三個數字,其中倆個是質數。這倆個呢,就叫prime numbers.產生RSA私有密鑰的關鍵就是產生這倆。還有一些其他的參數,引導著整個私有密鑰產生的過程。因為產生私有密鑰過程需要很多隨機數,這個過程的時間是不固定的。
//root@ubuntu:/mnt/hgfs/windows_linux/AlipayEx/study/opensslstudy/study#openssl genrsa -out RSAPrivateKey.pem 1024
//root@ubuntu:/mnt/hgfs/windows_linux/AlipayEx/study/opensslstudy/study#openssl rsa -in RSAPrivateKey.pem -pubout -out RSAPublicKey.pem

3.2 讀取密鑰
PEM_read_RSAPrivateKey
PEM_read_RSA_PUBKEY
具體參數看文檔去吧!
3.3 加解密
公鑰加密,私鑰解密
RSA_public_encrypt
RSA_private_decrypt
具體參數看文檔去吧!
3.4 簽名
私鑰簽名,公鑰驗簽
SHAwithRSA
1.SHA1M(自己封裝的)
2. RSA_sign(/*sha1withRSA第一個參數為NID_sha1,第二第三個參數為明文的sha1摘要及長度SA_verify

熱點內容
android換背景 發布:2025-08-18 13:16:47 瀏覽:16
易語言gdi源碼 發布:2025-08-18 13:06:05 瀏覽:782
iphone5s軟體緩存 發布:2025-08-18 12:39:37 瀏覽:148
QQ推薦上傳 發布:2025-08-18 12:38:51 瀏覽:860
qq忘記密保怎麼找回密碼 發布:2025-08-18 12:38:18 瀏覽:72
python字元串類型轉換 發布:2025-08-18 12:35:54 瀏覽:399
ofdm信道估計演算法 發布:2025-08-18 12:35:09 瀏覽:733
指數競猜源碼 發布:2025-08-18 12:29:26 瀏覽:698
天龍八部莫愁腳本官網 發布:2025-08-18 12:14:19 瀏覽:862
合資車為什麼配置不高 發布:2025-08-18 12:09:36 瀏覽:76