很久前,公司使用oracle資料庫,很多時候會用定時任務在oracle資料庫間進行資料同步,在和三方對接過程中,可能需要在公網中布置oracle資料庫作為中間庫,對於安全較高的業務資料來說加密就顯得極為重要。經查詢,oracle自身支援加密傳輸,因此到官網查詢,完成相關配置並在本地抓包檢測。
檢視官網資料:
客戶端sqlnet.ora檔案中增加配置
sqlnet.encryption_client=accepted #表明客戶端接受安全網路傳輸請求(預設值就是accepted)
可選值:
rejected: 客戶端拒絕任何安全網路傳輸連線請求
requested: 如果另一方請求或需要安全服務,則該安全服務將被啟用
required: 只有當另一端接受安全網路傳輸時,客戶端才接受連線
服務端sqlnet.ora檔案中增加配置
sqlnet.encryption_server=required
sqlnet.encryption_types_server=
drivermanager.registerdriver(new oracle.jdbc.driver.oracledriver());
properties props = new properties();
props.put("oracle.net.encryption_client", "accepted");
props.put("oracle.net.encryption_types_client", "rc4_128");
props.put("user", "***");
props.put("password", "yyy");
connection conn = drivermanager.getconnection("jdbc:oracle:thin:@myhost:1521:mysid", props);
md5 or sha-1
客戶端:
sqlnet.crypto_checksum_client = [ accepted | rejected | requested | required ]
sqlnet.crypto_checksum_types_client =
伺服器端:
sqlnet.crypto_checksum_server = [ accepted | rejected | requested | required ]
sqlnet.crypto_checksum_types_server =
oracle 11g版本的加密口令存放在sys.user$表中的spare4列中,而password列中仍保留以前版本加密口令。由於客戶端計算加密口令需要用到salt,在建立連線時,伺服器端將salt明文傳送給客戶端程式。oracle 11g中新的口令加密演算法中區分大小寫;由於加入了隨機數salt,兩個不同使用者的口令即便完全相同,計算得到的sha1的雜湊值也不同;不同db中相同使用者相同口令,sha1雜湊值也可能不同。
#sqlnet.ora檔案中做如下配置
# 伺服器端
sqlnet.encryption_server = required #開啟加密
sqlnet.encryption_types_server = aes128 #採用aes對稱加密演算法
sqlnet.crypto_checksum_server = required #需要對資料完整性進行驗證
sqlnet.crypto_checksum_types_server = md5 #簽名演算法
#客戶端
sqlnet.crypto_checksum_client = accepted
sqlnet.crypto_checksum_types_client = md5
未加密:
配置加密後:
wiki資源:
c 網路加密傳輸
網上已經有很多測試,我就不多說了。先說說我的測試。1.net framework 都應該合適。2.rsacryptoserviceprovider類在.net core 下無法呼叫xml匯出方法 windows 3.居網上說rsacryptoserviceprovider在linux上不支援,我還沒...
https加密傳輸詳解
https採用對稱加密與非對稱加密的混合加密方式 混合加密方式原理 1.服務端將非對稱加密的公鑰傳送給客戶端 2.客戶端拿著服務端發來的公鑰,對對稱加密的key做加密並發給服務端 3.服務端拿著自己的私鑰對發來的密文解密,從來獲取到對稱加密的key 4.二者利用對稱加密的key對需要傳輸的訊息做加解...
加密傳輸重要資訊
荊軻刺秦王 在專案中,我們往往需要傳遞一些重要資料 通常這些資料都和錢有關 為了防止這些資料被擷取篡改,我們經常會為資料加密處理。我們的思路是 md5 重要資訊 隨機字元 當前時間 key 這個key是md5加密後的隨機字串 具體步驟 1.nonestr 隨機獲取 1 9a za z 的24位字串 ...