java學習心得筆記
這項技術在一些小型的數據庫訪問中能夠減少statement將近90%的執行時間。
法則6:完全關閉所有的statement
在編寫bmp的數據庫訪問代碼時,記住一定要在數據庫訪問調用之后關閉statement,因為每個打開的statement對應于數據庫中的一個打開的游標。
security
1.加密
對稱加密
(1)分組密碼
(2)流密碼
常用的對稱加密算法:
des和tripledes
blowfish
rc4
aes
非對稱加密
常用的非對稱加密算法
rsa
elgamal
會話密鑰加密(對稱加密和非對稱加密一起使用)
常用的會話密鑰加密協議
s/mime
pgp
ssl和tls ssl是在application level protocal和transport protocal之間的。
比如:http和tcp/ip之間
ssl 提供了服務器端認證和可選的客戶端認證,保密性和數據完整性。
提供基于ssl方式的傳輸加密和認證,確保以下三種安全防護:
數據的機密性和準確性、
服務器端認證
客戶端認證。
客戶端認證比服務器端認證不很普遍的原因是每一個要被認證的客戶都必須有一張verisign這樣的ca簽發的證書。
通常,在進行身份認證的時候,應當只接受一個ca,這個ca的名字包含在客戶證書中。
由于不可能隨意創建一個由指定ca簽發的證書,所以這可以有效的防御通過偽造證書來進行的攻擊嘗試。
2.認證(authentication)
認證就是確定一條消息或一個用戶的可靠性的過程。
1.消息摘要
md5
sha和sha-1
2.消息認證碼(message authientication codes,mac)
3.數字簽名
用戶可以用自己的密鑰對信息加以處理,由于密鑰僅為本人所有,這樣就產生了別人無法生成的文件,也就形成了數字簽名
數字簽名可以
1)保證數據的完整性
2)驗證用戶的身份
數字簽名采用一個人的私鑰計算出來,然后用公鑰去檢驗。
hash算法 私鑰加密
原報文 ――――――>;報文摘要( message digest ) ―――――>;數字簽名
原報文和數字簽名一起被發送到接受者那里,接受者用同樣的hash算法得到報文摘要,然后用發送者的公鑰解開數字簽名。
比較是否相同,則可以確定報文確定來自發送者。
驗證數字簽名必須使用公鑰,但是,除非你是通過安全的方式直接得到,否則不能保證公鑰的正確性。(數字證書可以解決這個問題)
一個接受者在使用公鑰(public key)檢查數字簽名(digital signature)的可信度時,通常先要檢查收到的公鑰(public key)是否可信的。
因此發送方不是單單地發送公鑰(public key),而是發送一個包含公鑰(public key)的數字證書(cetificate )。
4.數字證書
數字證書是一個經證書授權中心數字簽名的包含公開密鑰所有者信息以及公開密鑰的文件。
數字證書cetificate中包括:
i. 用戶的公鑰(public key)
ii. 用戶的一些信息,如姓名,email
iii. 發行機構的數字簽名(digital signature), 用于保證證書的可信度
iv. 發行機構的一些信息
數字證書的格式遵循x.509國際標準。
注意:一個數字證書certificate并不適用于多種browser,甚至一種browser的多個版本。
數字標識由公用密鑰、私人密鑰和數字簽名三部分組成。
當在郵件中添加數字簽名時,您就把數字簽名和公用密鑰加入到郵件中。數字簽名和公用密鑰統稱為證書。您可以使用 outlook express 來指定他人向您發送加密郵件時所需使用的證書。這個證書可以不同于您的簽名證書。
收件人可以使用您的數字簽名來驗證您的身份,并可使用公用密鑰給您發送加密郵件,這些郵件必須用您的私人密鑰才能閱讀。
要發送加密郵件,您的通訊簿必須包含收件人的數字標識。這樣,您就可以使用他們的公用密鑰來加密郵件了。當收件人收到加密郵件后,用他們的私人密鑰來對郵件進行解密才能閱讀。
在能夠發送帶有數字簽名的郵件之前,您必須獲得數字標識。如果您正在發送加密郵件,您的通訊簿中必須包含每位收件人的數字標識。
數字證書,可以是個人證書或 web 站點證書,用于將身份與"公開密鑰"關聯。只有證書的所有者才知道允許所有者"解密"或進行"數字簽名"的相應"私人密鑰"。當您將自己的證書發送給其他人時,實際上發給他們的是您的公開密鑰,這樣他們就可以向您發送只能由您使用私人密鑰解密和讀取的加密信息。
通過瀏覽器使用數字證書,必須先要設置瀏覽器軟件 internet explorer 或 netscape使用此證書,才能開始發送加密或需要數字簽名的信息。訪問安全的 web 站點(以"https"打頭的站點)時,該站點將自動向您發送他們的web站點證書。
3.ca(證書授證中心)
ca機構,又稱為證書授證(certificate authority)中心,作為電子商務交易中受信任的第三方,承擔公鑰體系中公鑰的合法性檢驗的責任。ca中心為每個使用公開密鑰的用戶發放一個數字證書,數字證書的作用是證明證書中列出的用戶合法擁有證書中列出的公開密鑰。ca機構的數字簽名使得攻擊者不能偽造和篡改證書。在set交易中,ca不僅對持卡人、商戶發放證書,還要對獲款的銀行、網關發放證書。它負責產生、分配并管理所有參與網上交易的個體所需的數字證書,因此是安全電子交易的核心環節。