使用rsa模組
import rsa
import base64
# 讀取私鑰
privkey = rsa.privatekey.load_pkcs1(
open
("./private.pem"
,"rb"
).read())
# 讀取公鑰
pubkey = rsa.publickey.load_pkcs1(
open
("./public.pem"
,"rb"
).read())
message =
open
("mt00502019m15267985_大白.pdf"
,"rb"
).read(
)# 生成hash值
hash
= rsa.compute_hash(message,
'sha-1'
)# 生成簽名值
signature = rsa.sign_hash(
hash
, privkey,
'sha-1'
)print
(signature)
# 如果有傳輸上的需要,利用base64做型別轉換
print
(base64.b64encode(signature)
)a =
str(base64.b64encode(signature)
, encoding=
"utf-8"
)print
(a)j =
bytes
(a, encoding=
"utf-8"
)print
(base64.b64decode(j)
)signature2 = base64.b64decode(j)
message =
open
("mt00502019m15267985_大白.pdf"
,"rb"
).read(
)# 公鑰驗證
r = rsa.verify(message, signature2, pubkey)
print
(r)
驗證成功的話,r的值為hash_method
**示例中是hash_method是sha-1
驗證失敗的話是會丟擲異常的
(如果不想異常丟擲,try …except)
以下是rsa.verify的原始碼截圖
RSA公私鑰生成
1 生成私鑰 openssl genrsa out rsa private key.pem 1024 2 根據私鑰生成與之配對的公鑰 openssl rsa in rsa private key.pem pubout out rsa public key.pem 3 將第1步生成的私鑰轉換成pkcs...
openssl公私鑰生成
1 雙擊啟動bin openssl.exe 2 手動輸入命令 或者 複製一行命令,右擊標題欄 編輯 貼上 3 enter完成輸入,生成對應公私鑰檔案 生成步驟 1 生成private key.pem openssl genrsa out private key.pem 1024 2 生成pkcs8 ...
Linux ssh 公私鑰配置
linux ssh 公私鑰配置 ssh 公私鑰可實現無密碼的情況下直接直接登入到服務端。方便我們管理,而且也可以設定ssh完全通過公私鑰登入,不可通過密碼登入,來提高我們的伺服器安全程度。配置 檔案 配置私鑰測試登入 1 將公鑰新增到authorized keys檔案內 cat id rsa.pub...