網上已經有很多測試,我就不多說了。先說說我的測試。
1.net framework 都應該合適。
2.rsacryptoserviceprovider類在.net core 下無法呼叫xml匯出方法(windows)。
3.居網上說rsacryptoserviceprovider在linux上不支援,我還沒有測試。
4.按照網上說的使用 rsa.create();返回的介面只能匯出引數結構rsaparameters;xml,blob都不支援。因此我將結構轉成byte儲存檔案。網上都沒有說明怎麼操作的。都是一樣的。
再來說我們一般的操作。我也是按照網上來的。當加密解密流程測試通後,就是過程了。這個細節不一樣,但是原理一樣。
客戶端aes加密資料,aes秘鑰由客戶端自己確定a,然後用rsa公鑰加密 aes 的秘鑰為b.每次傳輸的資料 有a+b構成。rsa秘鑰由服務端確定,私鑰一直保持在服務端,公鑰需要給客戶端。
這裡就不說web了,現成的ssl.
那麼安裝c/s模型怎麼建立呢?我覺得大概是這樣。
大概過程:
1.客戶端登入(需要安裝協議傳遞資料,主要是乙個授權字串,我demo裡面是有2種,一種是寫死的字串,一致是檔案,將其採用sha1進行加密)
2.服務端驗證客戶端傳遞(主要是根據設定,是否允許寫死的字串驗證,是否有檔案驗證),驗證成功就分配乙個sessionid給客戶端,同時把rsa的公鑰發給客戶端)
3.客戶端儲存rsa公鑰和sessionid.
4.客戶端傳送資料給服務端時。按照前面描述,同時要加上上面分配的sessionid.
5.服務端接收資料後,先用rsa解密,解析出aes的秘鑰。需要提取sessionid.先檢查sessionid是否還有效,當前設計是當天有效。如果有效就繼續解析資料主題,無效就返回客戶端錯誤資訊。解析主題資料後處理業務,然後再以aes加密,傳輸。
根據什麼的過程,客戶端每次登入都需要驗證一次,這樣服務端可以控制rsa的變換和客戶端的授權檔案更新。
demo已經上傳git,但是不能跑流程,網路部分是偽**(注釋)。沒有寫網路部分,想測試需要自己新增。demo只體現了設計過程。
Oracle網路加密傳輸配置
很久前,公司使用oracle資料庫,很多時候會用定時任務在oracle資料庫間進行資料同步,在和三方對接過程中,可能需要在公網中布置oracle資料庫作為中間庫,對於安全較高的業務資料來說加密就顯得極為重要。經查詢,oracle自身支援加密傳輸,因此到官網查詢,完成相關配置並在本地抓包檢測。檢視官網...
https加密傳輸詳解
https採用對稱加密與非對稱加密的混合加密方式 混合加密方式原理 1.服務端將非對稱加密的公鑰傳送給客戶端 2.客戶端拿著服務端發來的公鑰,對對稱加密的key做加密並發給服務端 3.服務端拿著自己的私鑰對發來的密文解密,從來獲取到對稱加密的key 4.二者利用對稱加密的key對需要傳輸的訊息做加解...
加密傳輸重要資訊
荊軻刺秦王 在專案中,我們往往需要傳遞一些重要資料 通常這些資料都和錢有關 為了防止這些資料被擷取篡改,我們經常會為資料加密處理。我們的思路是 md5 重要資訊 隨機字元 當前時間 key 這個key是md5加密後的隨機字串 具體步驟 1.nonestr 隨機獲取 1 9a za z 的24位字串 ...